Philip Rebohle
3dbe8ad43c
[d3d9] Rework device reset detection
...
More robust.
2025-01-16 11:38:39 +01:00
Philip Rebohle
f9c3dd1f5f
[d3d9] Remove explicit swapchain synchronization
...
No longer necessary.
2025-01-16 11:38:39 +01:00
Philip Rebohle
c43cf6895b
[d3d9] Refactor presenter management
...
There's basically no reason to ever recreate a presenter for an already
managed window with the new code.
2025-01-16 11:38:39 +01:00
Philip Rebohle
785649f3b8
[d3d11] Remove explicit swapchain synchronization
2025-01-16 11:38:39 +01:00
Philip Rebohle
42adc4ac11
[dxvk] Perform acquire and present synchronization in the backend
...
And add method to explicitly destroy relevant Vulkan objects.
2025-01-16 11:38:39 +01:00
Philip Rebohle
b03ff775ce
[dxvk] Do not initialize present status from presentImage
...
Meaningless, this needs to be done elsewhere anyway.
2025-01-16 11:38:39 +01:00
Philip Rebohle
81c3242b6d
[dxvk] Dirty swapchain if present returns SUBOPTIMAL
...
May fix some issues in case the WSI implementation can return SUBOPTIMAL
from present but not acquire. Also ensure to keep state consistent.
2025-01-16 11:38:39 +01:00
Philip Rebohle
816f8e9c87
[dxvk] Improve swapchain debug logging
2025-01-16 11:38:39 +01:00
Philip Rebohle
0f9245ff33
[d3d9,d3d11] Remove numBackBuffers option
...
Useless.
2025-01-16 11:38:39 +01:00
Philip Rebohle
cb42ea21be
[dxvk] Adjust swapchain format preferences in various cases
...
For sRGB, using a native sRGB format allows the swapchain blitter
to use a more efficient code path for drawing the HUD.
Also allow RGB9E5 for sRGB and HDR10.
2025-01-16 11:38:39 +01:00
Philip Rebohle
d200184306
[dxvk] Rework swapchain composition
...
Also adds a separate set of shaders for the software cursor, provided it
can be drawn directly with alpha blending.
2025-01-16 11:38:39 +01:00
Philip Rebohle
a09d372caf
[dxvk] Prepare swapchain blitter for compositing HUD and cursor
...
This will be necessary for non-linear color spaces to get proper blending.
2025-01-16 11:38:39 +01:00
Philip Rebohle
8be30d7d5a
[hud] Add method to check whether HUD is empty
2025-01-16 11:38:39 +01:00
Philip Rebohle
5134a4b3c5
[dxvk] Move HUD update and rendering into swapchain blitter
2025-01-16 11:38:39 +01:00
Philip Rebohle
c1ed8cd1f3
[hud] Add function to change API name dynamically
...
Needed for D3D8 due to implicit swapchain shenanigans.
2025-01-16 11:38:39 +01:00
Philip Rebohle
0eeedf9259
[hud] Allow returning HUD item objects to the caller
2025-01-16 11:38:39 +01:00
Philip Rebohle
d5744e5a81
[dxvk] Enable automatic fallbacks for HDR color spaces
...
The swap chain blitter can deal with the conversion.
2025-01-16 11:38:39 +01:00
Philip Rebohle
d85d07c0ec
[dxvk] Infer swap chain color space from image views
2025-01-16 11:38:39 +01:00
Philip Rebohle
1d790970d5
[d3d9] Set color space for swap chain image
2025-01-16 11:38:39 +01:00
Philip Rebohle
b586294e29
[d3d11] Set color space for swap chain image
2025-01-16 11:38:39 +01:00
Philip Rebohle
ed3c02906c
[dxvk] Set color space for swap chain back buffers
2025-01-16 11:38:39 +01:00
Philip Rebohle
84317f913a
[dxvk] Don't redundantly update image debug names
2025-01-16 11:38:39 +01:00
Philip Rebohle
ff41a5ab12
[dxvk] Add color space property to image description
2025-01-16 11:38:39 +01:00
Philip Rebohle
ad11509e83
[dxvk] Soften error reporting from the presenter
2025-01-16 11:38:39 +01:00
Philip Rebohle
43838d3df8
[dxvk] Move Vulkan swapchain management to backend
...
Massive cleanup reduce code duplication between D3D11 and D3D9,
and introduce a sane path to pass data around. Implicit swap
chain recreation is now entirely transparent to the frontends.
2025-01-16 11:38:39 +01:00
Philip Rebohle
06b44c6237
[dxvk] Rework HDR metadata updates
2025-01-16 11:38:39 +01:00
Philip Rebohle
63e88debee
[dxvk] Move deferSurfaceCreation handling to backend
2025-01-16 11:38:39 +01:00
Philip Rebohle
ab9646551f
[dxvk] Import swap chain images from the back-end
2025-01-16 11:38:39 +01:00
Philip Rebohle
073806df7c
[dxvk] Move surface creation to the backend
2025-01-16 11:38:39 +01:00
Philip Rebohle
c707d9026f
[meta] Release 2.5.3
v2.5.3
2025-01-13 16:20:20 +01:00
Blisto91
3d401690cb
[util] Enable Strict floatEmulation for Max Payne 3
...
Visual issues such as white, black or rainbow colored objects and effect on some driver such as ANV (and amdvlk when set to true)
2025-01-13 16:17:36 +01:00
Philip Rebohle
5f5c9a4cdd
[d3d9] Improve logging for PS input register indices
2025-01-13 15:38:25 +01:00
Philip Rebohle
af45295a2f
[d3d9] Log instruction stream in validator
2025-01-13 15:38:25 +01:00
Jeff
5b7726cf6f
[d3d9] Fix invalid strings returned by GetInstanceExtensions
2025-01-13 11:08:45 +01:00
Philip Rebohle
d5832c3075
[dxbc] Improve code gen for zeroing workgroup memory
2025-01-12 14:10:47 +01:00
Philip Rebohle
f17317061c
[dxbc] Bound-check dynamically indexed input registers
...
Halo MCC reads undefined PS inputs otherwise.
2025-01-12 14:10:47 +01:00
Blisto91
7f4e25267c
[util] Enable hideIntegratedGraphics for Bright memory
...
The game will prefer other vendors over Intel even if the latter is the dGPU in the system. It likely assumes that Intel is always a iGPU.
This also happens with the native game on Windows and so isn't a Linux exclusive. Both in d3d11 and d3d12 mode.
2025-01-11 16:55:00 +01:00
Blisto91
07397305f1
[util] Enable zeroInitWorkgroupMemory for Far Cry 5 and New Dawn
2025-01-11 16:45:06 +01:00
Philip Rebohle
efb9d444c1
[dxvk] Introduce config option to enable FSE on Windows
2025-01-10 14:07:55 +01:00
Philip Rebohle
071dec7148
[hud] Add debug label for HUD rendering
2025-01-09 16:25:46 +01:00
Philip Rebohle
279c6f150a
[dxvk] Add debug label for swap chain blitter
2025-01-09 16:25:46 +01:00
Philip Rebohle
50f9630250
[dxvk] Add debug regions for internal operations
2025-01-09 16:25:46 +01:00
Philip Rebohle
485090d039
[dxvk] Add debug region for mip generation
2025-01-09 16:25:46 +01:00
Philip Rebohle
498ecca81d
[dxvk] Add debug region for memory defragmentation
2025-01-09 16:25:46 +01:00
Philip Rebohle
9bb06baaaa
[dxvk] Add debug labels for pipeline binding
2025-01-09 16:25:46 +01:00
Philip Rebohle
ca2afb0b8b
[dxvk] Add debug label for render target clears
2025-01-09 16:25:46 +01:00
Philip Rebohle
1b9ea8c6e3
[dxvk] Add debug regions for render passes
2025-01-09 16:25:46 +01:00
Philip Rebohle
d9b5f09239
[dxvk] Add debug region stack
...
Ensures that we correctly begin and end app-provided regions within
each command buffer.
2025-01-09 16:25:46 +01:00
Philip Rebohle
71bd780340
[dxvk] Add debug regions to command buffers
2025-01-09 16:25:46 +01:00
Philip Rebohle
b62a8c78b4
[dxvk] Add context feature flag for debug utils support
2025-01-09 16:25:46 +01:00