1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-01-31 23:52:20 +01:00

6534 Commits

Author SHA1 Message Date
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