- Added missing FBI FIFO enabled state in save/restore list.
- Call recompute_video_memory() in after_restore_state() to make FIFO work.
- Small cleanup.
Includes:
New CPU feature flag: AVX10.2
AVX 10.2 EVEX.U field for 256-bit SAE/RC support
AMX_AVX512 ISA extension
AVX 10.2 new instructions
- BF arithmetic instructions
- New scalar compare instructions updating EFLAGS
- AVX10.2 VNNI instructions
- AVX10.2 MINMAX instructions
- AVX10.2 saturating convert with truncation instructions
- AVX10.2 zero-extending partial vector copy instructions
- AVX10.2 saturating byte convert instructions
- AVX10.2 BF8/HF8 convert instructions and BF/HF8 support
- Misc
a lot of rework in softfloat3e code to support above and optimize the
code
- Added YUV planar space write support.
- Added YUV format support for screen-to-screen stretching BitBlt function.
TODO: YUV format overlay still has issues.
- Redraw the overlay region only instead of full screen.
- Set up overlay parameters at register writes.
TODO list:
- 24 / 32 bpp desktop support
- Overlay color conversion YUV -> RGB
- Overlay scaling support
- Moved Banshee/Voodoo3 desktop update code to banshee.cc.
- Added desktop / overlay mode testing code for the 16 bpp case.
- Added basic UYUV format decoding for black and white output.
- Only the fullscreen overlay mode is handled in voodoo.cc.
- Reduce BX_ERROR messages when writing to vidProcCfg register.
These issues appear when -Werror=format on 32-bit platforms depending on
the exact definitions of uint64_t and size_t.
It doesn't appear that bochs uses %zu for size_t -- since you support
Windows platforms, unclear if that would work for you. If so, that's
definitely correct rather than the unsigned long cast.
autoconf-based packages conventionally respect the DESTDIR environment
variable rather needing to explicitly override it.
Likewise the distclean target is conventionally named distclean rather
than dist-clean. This change adds a top-level alias to be compatible.
These changes are needed to build bochs on my infrastructure without
having to special case bochs or locally patch it.
Setting VBE memory size to 4, 8, 16 and 32 MB is now possible. Since a memory
size change can also change the number of available modes and the value for
"number of image pages" in the mode info it is required to use the latest
VGABIOS binary.
Related changes:
- Make sure the VBE entry appears at index 1 of VGA extension option list.
- Removed all memory size constants and use BX_VGA_THIS s.memsize instead.
TODO: Remove the static mode info table and create it dynamicly similar to
Banshee and Cirrus.
after checking agains Intel reference decoder (Xed) it shown few mismatches.
The mismatches are not functionally important - some very long instructions with lock prefix would cause #UD (due to badly placed lock prefix) insetad of #GP due to excessive opcode length
Seems like Xed evaluates entire instruction to the end and only then converts it to #UD due to lock prefix