Philip Rebohle
bd2245022b
[dxvk] Track indirect draw buffer access
2025-02-18 15:38:11 +01:00
Philip Rebohle
8bd6d16fde
[dxvk] Add resource flag to track graphics pipeline side effects
2025-02-18 15:38:11 +01:00
Philip Rebohle
cb92589452
[dxvk] Add more convenience methods to track buffer barriers
2025-02-18 15:38:11 +01:00
Philip Rebohle
23067c48c7
[dxvk] Clean up CS chunk allocation
...
This also makes it more robust w.r.t. alignment.
2025-02-18 15:37:11 +01:00
Philip Rebohle
4c8ee300b5
[util] Add more optimal popcnt implementation
2025-02-18 15:28:41 +01:00
Robin Kertels
4282829f38
[d3d9] Route operations on unmappable memory through allocator
...
Fixes an extremely race condition that can happen when freeing a chunk.
2025-02-17 19:23:15 +01:00
WinterSnowfall
92523fc0dd
[d3d9] Fix x64 crash on SetVertexShaderConstantF index overflow
2025-02-17 15:11:05 +01:00
WinterSnowfall
4a89b75bb7
[d3d8] Fix x64 crash on shader validation
2025-02-17 15:11:05 +01:00
WinterSnowfall
274c590ad6
[d3d9] Set priority only for D3DPOOL_MANAGED/DEFAULT resources
2025-02-17 15:11:05 +01:00
WinterSnowfall
84b2ac3f97
[d3d8] Set priority only for D3DPOOL_MANAGED resources
2025-02-17 15:11:05 +01:00
WinterSnowfall
8efa3ed84a
[d3d8] A few minor formatting adjustments
2025-02-17 15:11:05 +01:00
Robin Kertels
3269f92138
[d3d9] Fix mismatching texture type mask updates
2025-02-17 14:32:34 +01:00
Jeff
0aebedae16
[d3d8] Add shadow perspective divide hack for Splinter Cell
2025-02-17 14:10:54 +01:00
Philip Rebohle
f2802dd2ff
[dxvk] Fix some potential image layout bugs
2025-02-17 01:26:03 +01:00
Philip Rebohle
9389a0ca96
[dxvk] Don't transition image layout in clearImageViewCs unless necessary
2025-02-17 01:26:03 +01:00
Philip Rebohle
6d9e0baa27
[dxvk] Don't hold queue lock when invoking periodic memory tasks
2025-02-14 14:34:33 +01:00
Philip Rebohle
9573c389de
[dxvk] Don't create GPL pipeline if we need to patch the vertex shader
...
Works around a game bug in Kingdom Come Deliverance and silences a validation
error.
2025-02-13 18:46:49 +01:00
Philip Rebohle
3453732bba
[dxvk] Fix clear optimization edge case with multi-planar images
2025-02-12 21:42:27 +01:00
Philip Rebohle
0a84dbb787
[dxvk] Implement resolves with a render target clear if possible
...
Same idea as for copies, if the last use of the source image was a clear
then we can simply clear the destination image instead of performing a
much more expensive resolve operation.
2025-02-12 21:42:27 +01:00
Philip Rebohle
f5a5ec7c88
[dxvk] Factor out method to find pending deferred clears
2025-02-12 21:42:27 +01:00
Philip Rebohle
1cabbee2bb
[dxvk] Rework render pass resolves
...
In an attempt to also support batching layered resolves.
2025-02-12 21:42:27 +01:00
Philip Rebohle
563129c863
[dxvk] Fix potential resolve attachment invalidation bug
2025-02-12 14:44:54 +01:00
Philip Rebohle
c5a3aa73a0
[util] Enable dummy composition swap chain for an upcoming game
2025-02-12 01:36:10 +01:00
Philip Rebohle
80bfd2ed97
[util] Add functionality to support hashed app profiles
2025-02-12 01:34:40 +01:00
Philip Rebohle
813ae020b6
[d3d11] Flush more around non-multisampled render passes
2025-02-11 16:14:53 +01:00
Philip Rebohle
7e3c6f819a
[util] Add new flush type for render pass boundaries
2025-02-11 16:14:53 +01:00
Philip Rebohle
94b5cfc3d8
[dxvk] Don't use secondary command buffers for certain render passes
...
If we can't use any store/resolve op optimizations on a render pass, there
is no reason to pay for the overhead of secondary command buffers.
2025-02-11 16:14:53 +01:00
Philip Rebohle
beaf6dd2a6
[dxvk] Add context flag for active secondary command buffers
...
Makes some checks more explicit.
2025-02-11 16:14:53 +01:00
Philip Rebohle
cf9ccf711b
[dxvk] Add perf hint to avoid secondary command buffers
2025-02-11 16:14:53 +01:00
Philip Rebohle
94254f556e
[dxvk] Fix stencil resolve mode
2025-02-11 15:26:08 +01:00
Philip Rebohle
70492b2954
[dxvk] Avoid locking built-in latency tracker when calling into presenter
...
Same reason as for the Reflex one.
2025-02-11 15:12:13 +01:00
Philip Rebohle
b1174a1bdf
[dxvk] Avoid locking Reflex latency tracker when calling into presenter
...
There are complex deadlock conditions during swap chain destruction.
2025-02-11 15:12:13 +01:00
Philip Rebohle
efeb15edbd
[dxvk] Fix lack of forward progress guarantee in presenter
...
Turns out that relying on two threads to unblock another was a bad idea.
Fixes a potential deadlock w.r.t. swapchain recreation with Reflex.
2025-02-11 15:12:13 +01:00
Philip Rebohle
ac17d5f9b1
[dxvk] Enable tiler mode for more drivers
2025-02-10 18:36:01 +01:00
Philip Rebohle
11ec65d516
[include] Update Vulkan headers
2025-02-10 17:44:36 +01:00
Neal Gompa
4d3b35ae53
meson: Fix version construct by dropping the "v" prefix
...
The "v" prefix was causing the version to be incorrectly set for
generated files (such as pc files for pkg-config).
Dropping the prefix fixes the issue.
2025-02-10 16:38:03 +01:00
Philip Rebohle
3aeedb9c98
[d3d11] Forward DiscardResource calls to backend for images
2025-02-10 16:13:31 +01:00
Philip Rebohle
9b5499caf2
[dxvk] Ignore deferred discards that we can't fold into load ops
2025-02-10 16:13:31 +01:00
Philip Rebohle
fcabffc1e5
[dxvk] Add store op optimization for image discards in tiler mode
2025-02-10 16:13:31 +01:00
Philip Rebohle
821386aeff
[dxvk] Add config option to toggle tiler optimizations
2025-02-10 16:13:31 +01:00
Philip Rebohle
fa2d791d79
[dxvk] Use resolve attachments if possible
2025-02-10 16:13:31 +01:00
Philip Rebohle
80fb7e2294
[d3d9,d3d11] Adjust flush heuristic on tiling GPUs
...
Probably needs work, just disable most of the heuristic for the time being.
2025-02-10 16:13:31 +01:00
Philip Rebohle
00299b264b
[dxvk] Use secondary command buffers for rendering on tiling GPUs
2025-02-10 16:13:31 +01:00
Philip Rebohle
4a92b92f58
[dxvk] Add perf hint for tiling GPUs
2025-02-10 16:13:31 +01:00
Philip Rebohle
6c1bc35264
[dxvk] Add functionality to use secondary command buffers
2025-02-10 16:13:31 +01:00
Philip Rebohle
7d35afdc37
[dxvk] Add functionality to allocate secondary command buffer
2025-02-10 16:13:31 +01:00
Philip Rebohle
f615594f22
[dxgi] Create dummy window for composition swap chains
...
Obviously not a valid implementation, but allows composition swap chains
to exist with some basic functionality.
2025-02-10 14:23:12 +01:00
Philip Rebohle
76f9bec7cc
[dxgi] Add option to expose composition swapchains
2025-02-10 14:14:38 +01:00
WinterSnowfall
0a19e5b6db
[d3d8] Store the value of D3DRS_ZVISIBLE
2025-02-10 11:25:40 +01:00
WinterSnowfall
946419cda2
[d3d8] Fix invalid casting in GetRenderState
2025-02-10 11:25:40 +01:00