Philip Rebohle
52a27ac4b5
[dxvk] Store various image properties inside the view
2025-03-07 20:35:32 +01:00
Philip Rebohle
d3e6634d0a
[dxvk] Add binding flag for multisampled images
2025-03-07 20:35:32 +01:00
Philip Rebohle
34e5cc2aca
[dxvk] Add separate flag to forcibly end a render pass
...
Otherwise, if the app binds the same set of render targets again,
the dirty framebuffer flag will get cleared.
2025-03-07 20:35:32 +01:00
Philip Rebohle
91cde7f9b9
[d3d9] Remove double presents with SyncInterval > 1
2025-03-07 20:32:32 +01:00
Philip Rebohle
9597acc224
[util] Add missing returns to small_vector
2025-03-07 16:15:42 +01:00
Philip Rebohle
3558b4c3da
[dxvk] Do not dirty the pipeline when starting the render pass
...
Redundant, since the pipeline update happens outside of a render pass
anyway and thus does not record any Vulkan commands.
All other state should still be dirtied since we might use secondary
command buffers for render passes.
2025-03-07 13:07:32 +01:00
Philip Rebohle
659205b5a6
[dxvk] Fix tracking of graphics pipeline side effects inside a render pass
...
Previously, we wouldn't track the first draw correctly in all cases because
the side effect flag would get reset when ending a previous render pass.
2025-03-07 12:43:31 +01:00
Philip Rebohle
720a62a7ba
[dxbc] Generalize invariant stores to cover constant stores
2025-03-07 12:43:31 +01:00
Philip Rebohle
d729567e7a
[dxvk] Refactor AccessOp
...
Allows us to do some more fun stuff with it going forward.
2025-03-07 12:43:31 +01:00
Philip Rebohle
a08579e555
[dxvk] Fix clear after late resolve
2025-03-06 09:54:34 +01:00
Philip Rebohle
45ec01a0a1
[d3d11] Add TRANSFER_SRC usage to icb
...
Needed for defrag.
2025-03-06 09:54:34 +01:00
Philip Rebohle
542e0d2ab0
[dxvk,d3d9,d3d11] Decouple ID3DUserDefinedAnnotation from internal markers
...
Some games nope out when we expose debug markers, so add a debug mode
that doesn't while still providing internal markers and debug names.
2025-03-06 09:54:34 +01:00
Philip Rebohle
91b48dd31d
[d3d11] Make user defined annotation more robust
2025-03-06 09:54:34 +01:00
GranMinigun
d8eb4d0d66
[util] Spoof vendor ID for CivCity: Rome
2025-03-06 01:25:30 +01:00
Philip Rebohle
f161d9bc7b
[dxvk] Fix synchronization on swapchain tear-down
2025-03-05 23:16:28 +01:00
Philip Rebohle
634f38b38d
[dxvk] Enable sparse binding features if supported
2025-03-05 23:15:47 +01:00
Philip Rebohle
ff8378be19
[dxvk] Fix uploadImage barriers
2025-03-05 23:15:47 +01:00
Philip Rebohle
ad75fb17cd
[dxvk] Fix uploadBuffer barriers
2025-03-05 23:15:47 +01:00
Philip Rebohle
76244812fb
[dxvk] Move compressed image initialization to transfer queue
...
This is relatively common.
2025-03-05 23:15:47 +01:00
Philip Rebohle
9c0dec9f58
[dxvk] Move buffer initialization to transfer queue
2025-03-05 23:15:47 +01:00
Philip Rebohle
a4a5bf5d63
[dxvk] Add helpers for transfer queue release barriers
2025-03-05 23:15:47 +01:00
Philip Rebohle
49f0968f57
[dxvk] Use sparse residency for zero buffer
...
Saves a small amount of memory since reading from an unbound
buffer will return zero anyway.
2025-03-05 23:15:47 +01:00
Philip Rebohle
ec0deb73da
[dxvk] Fix missing zero buffer tracking
...
Scary.
2025-03-05 23:15:47 +01:00
WinterSnowfall
fed51e6c92
[dxso] Fix uninitialized m_maxDefinedConstant variable
2025-03-05 15:02:11 +01:00
Philip Rebohle
196258111c
[dxvk] Be more conservative with CS data alignment
...
Fixes #4734 . Apparently, weak alignment hints are an error rather
than getting ignored.
2025-03-05 13:12:23 +01:00
Philip Rebohle
d04fe1cdc0
[meta] Add some missing documentation to dxvk.conf
2025-03-04 21:49:39 +01:00
Philip Rebohle
3cf453160c
[d3d11] Ensure required image usage flags for video blits
...
Fixes some validation errors.
2025-03-04 21:05:59 +01:00
Philip Rebohle
9769df9dd8
[d3d11] Implement ID3D11On12Device1
2025-03-02 19:21:39 +01:00
Philip Rebohle
106032fa65
[dxvk] Use granular image access tracking in copyImageHw
2025-03-02 14:01:09 +01:00
Philip Rebohle
d2b53b76de
[dxvk] Use granular image access tracking in copyBufferToImageHw
2025-03-02 14:01:09 +01:00
Philip Rebohle
02dc403074
[dxvk] Use granular image access tracking in copyImageToBufferCs
2025-03-02 14:01:09 +01:00
Philip Rebohle
420d083677
[dxvk] Use granular image access tracking in copyImageToBufferHw
2025-03-02 14:01:09 +01:00
Philip Rebohle
cd29f0feaa
[dxvk] Add barrier helpers for granular image access tracking
2025-03-02 14:01:09 +01:00
Philip Rebohle
baaf72a373
[dxvk] Add helpers to compute more granular image address ranges
2025-03-02 14:01:09 +01:00
Philip Rebohle
1f0ad760e1
[dxvk] Refactor address range for barrier tracking
...
Allows us to bump the size and offset to 64 bits without increasing the
total size of the node.
2025-03-02 14:01:09 +01:00
Philip Rebohle
fe58b393d4
[util] Add helper for 2D and 3D morton codes
2025-03-02 14:01:09 +01:00
Philip Rebohle
c21f4e0190
[util] Add 48-bit integer type
2025-03-02 14:01:09 +01:00
Philip Rebohle
416f9c5a4a
[d3d11] Embed UpdateBuffer data in CS chunk
...
Tiny optimization that gets rid of a copy and also lets us use chunk
memory more efficiently.
2025-03-02 13:29:48 +01:00
Philip Rebohle
5b68884fd9
[d3d11] Fix confusing debug color for GPU synchronization
...
Purple was already used for various other things.
2025-03-01 16:37:39 +01:00
Robin Kertels
8f84085370
[dxvk] Add CS thread load to the HUD
2025-03-01 14:23:22 +01:00
Philip Rebohle
b35e69b467
[d3d11] Skip empty draws
...
Watch Dogs 2 likes to do this with graphics UAVs bound, which
introduces quite a bit of unnecessary GPU synchronization.
2025-03-01 11:30:38 +01:00
Philip Rebohle
11dc0e7ce8
[util] Enable compute UAV barriers for Watch Dogs 2
2025-02-28 23:57:26 +01:00
Philip Rebohle
6b5d595b3e
[d3d11] Add option to force compute shader UAV synchronization
2025-02-28 23:57:26 +01:00
Philip Rebohle
396a4e0235
[dxbc] Add option to implicitly synchronize UAV accesses
2025-02-28 23:57:26 +01:00
Philip Rebohle
c04410ca00
[dxbc] Increase maximum size of embedded icbs to 256 bytes
...
Gives drivers more info, while still avoiding duplication of large ICBs
when compiling the same shader into a large number of pipelines.
2025-02-28 12:07:49 +01:00
Philip Rebohle
fcbdff3b72
[d3d9] Set correct input topology for SWVP emulation
...
Otherwise we'll run the input patch pass, even if it doesn't do anything.
2025-02-26 20:58:47 +01:00
Philip Rebohle
0359a3521d
[dxvk] Patch geometry shader if input topology does not match pipeline
2025-02-26 20:53:43 +01:00
Philip Rebohle
b41253e18d
[dxvk] Add pass to patch GS input topology if necessary
2025-02-26 20:53:43 +01:00
Philip Rebohle
96a260e94e
[dxbc] Write back GS input topology to shader info
2025-02-26 20:53:43 +01:00
Philip Rebohle
2cb9d40f88
[dxvk] Add input topology field to shader info
2025-02-26 20:53:43 +01:00