Robin Kertels
65a91900f5
[d3d9] Add option for extra frame buffer to fix GetFrameBufferData
2025-03-08 12:52:47 +01:00
WinterSnowfall
3f7460931a
[d3d8] Enforce the pCaps->MaxVertexShaderConst limit on VS creation
2025-03-08 12:41:02 +01:00
WinterSnowfall
e36121bf50
[d3d9] CheckDeviceFormat will error out for Vertex/IndexBuffer RTypes
2025-03-08 12:41:02 +01:00
WinterSnowfall
066fd1bb66
[d3d9] Validate block aligned format mip > 0 dimensions as well
2025-03-08 12:41:02 +01:00
WinterSnowfall
3d0f1583ca
[d3d8] Move D3D8 options description into dxvk.conf
2025-03-08 12:41:02 +01:00
WinterSnowfall
ed071005e9
[d3d8/9] Enforce SM1 when in D3D8 compatibility mode
2025-03-08 12:41:02 +01:00
WinterSnowfall
bbdab683a7
[dxvk/d3d9] Adjust/remove several loggers
2025-03-08 12:41:02 +01:00
WinterSnowfall
0527d2ccc5
[d3d8] Validate normals component count for FVF shaders
2025-03-08 12:41:02 +01:00
Philip Rebohle
35e2ee3518
[dxvk] Fix storage image synchronization in graphics shaders
...
Bit of a derp when stacking the MSAA work on top of the other work.
2025-03-07 22:12:10 +01:00
Philip Rebohle
b6a7e4880d
[dxvk] Highlight multisampled render passes when debugging
2025-03-07 20:35:32 +01:00
Philip Rebohle
84f2939b55
[dxvk] Also try to use render pass resolves on desktop drivers
...
Elides redundant back-to-back resolves in some games, and reduces
some barrier spam when the app resolves multiple images.
2025-03-07 20:35:32 +01:00
Philip Rebohle
7503a66789
[dxvk] Always use SAMPLE_ZERO for implicit resolves
2025-03-07 20:35:32 +01:00
Philip Rebohle
be213e46f9
[dxvk] Refactor resolve shaders
...
Removes some code duplication while adding support for non-AVERAGE
resolves for plain color images.
Also nuke the AMD path since it is no longer used.
2025-03-07 20:35:32 +01:00
Philip Rebohle
bd2b8cb823
[dxvk] Always prefer render pass resolves
...
Current AMDVLK has faster render pass resolves than what we can do
with fmask, and our render pass resolve path can deal with all types
of color images now if we pass the correct resolve mode.
Keep the fb path for non-standard depth resolve modes as well as
swapchain blits with composition, but otherwise there is no reason
to use this path by default anymore.
2025-03-07 20:35:32 +01:00
Philip Rebohle
d60afd449f
[dxvk] Use latched image view properties when possible
...
Reduces pointer chasing.
2025-03-07 20:35:32 +01:00
Philip Rebohle
c100d30bef
[dxvk] Add implicit resolve when app tries to sample multisampled image
2025-03-07 20:35:32 +01:00
Philip Rebohle
b5ea78479e
[dxvk] Refactor depth-stencil resolve to also work on color images
2025-03-07 20:35:32 +01:00
Philip Rebohle
bb1debc00e
[dxvk] Add flag to avoid dedicated allocations for short-lived images
2025-03-07 20:35:32 +01:00
Philip Rebohle
b184359a3f
[dxvk] Add flag to avoid creating dedicated allocations
2025-03-07 20:35:32 +01:00
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