This repository has been archived by the owner on Dec 31, 2024. It is now read-only.
v2.83 - A half baked version but I release it
I reuploaded this release with 2 regression bugs fixed on 2024.08.08
- Frontend
- DD/D3D/8/9 objects consumes less memory and system resources
- Adding bounds checking into generated VS cpu code
- Improving API locking mechanism to avoid 'window message deadlock'
dgVoodoo won't get into deadlock anymore with its own code in multithreaded window-message situations.
However there are games (like TR4) that wait for DD/D3D without pumping the message queue, still causing
deadlock/livelock. It cannot be resolved at wrapper side. - Minor refactorings here and there
- Shared surface memory (Lock/GetDC) in DDraw and D3D9 where possible (better performance)
- Workarounding an invalid shader in D3D9 (WALL-E, Ratatouille, Up)
- Some changes in the capability of the GF9800 virtual card
- DDraw
- Refactoring a lot of code to implement resource sharing to be compatible with MS DDraw (e.g. flashing screen in Colin McRae Rally 2)
- Implementing a shortcoming in DD compression Blt (Europe 1400)
- Implementing DD surface duplicating
- Adding some new dbg layer error messages into DD Blt'ing
- More compatibility with MS DDraw
- YUV format support
- D3D
- Implementing some missing validation in D3D Draw methods
- Fixing minor debug layer bugs
- Fixing a D3D7 vertex clipping incompatibility (Torte Le Magic)
- Fixing a D3D8/9 resource binding bug
- Fixing a thing in D3D execute buffers (shadow in Final Racing)
- D3D11/12 backend
- Adding a new option DirectXExt\D3D12BoundsChecking (try it if you run into a GPU crash with D3D8/9)
- Fixing a surface readback bug (Virtua Fighter 2 with forced resolution)
- Fixing some problems related to PS2/3 input registers declared as centroid (Insane 2 with ingame MSAA)
- Fixing a PS3 code generation problem (Borderlands with depth of field enabled)
- Fixing a regression bug in the blitter (Ephinea PSOBB, my own tests)
- Fixing a potential D3D12 deadlock problem (604)
- Adding a new addon callback to the API for creating custom D3D12 swapchains
- Fixing a 3D rendering bug in the D3D11/12 backends (SC Chaos Theory Versus Mode)
- Enabling flag DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING for FLIP presentation type swapchains if supported (windowed mode, fake fullscreen)
- Improving the synchronization of GPU/CPU access of poorly used D3D8/9 static buffers
- Fixing a regression bug in the blitter (Grand Prix 3 rearview mirrors)