Philip Rebohle
b6af4f04e4
[dxvk] Clamp region extent for compressed image <-> buffer copies
...
Silences a validation error in Star Trek Online.
2025-03-09 15:03:43 +01:00
Philip Rebohle
9dbf620165
[dxbc] Do not export PointSize on maintenance5-enabled drivers
...
... or on broken drivers that just explode for no reason at all.
2025-03-09 12:05:50 +01:00
WinterSnowfall
4543c76e39
[dxso] Fix uninitialized variables and other static analysis hints
2025-03-09 11:46:35 +01:00
WinterSnowfall
ed87cd58a7
[d3d9] More or less minor static analysis nits
2025-03-09 11:46:35 +01:00
WinterSnowfall
134fd299b0
[d3d8] Minor static analysis nits
2025-03-09 11:46:35 +01:00
Philip Rebohle
991878b9f2
[dxvk] Improve swapchain scaling
2025-03-09 11:46:24 +01:00
Robin Kertels
1b529c711c
[d3d9] Remove mentions of SWAPEFFECT_COPY_VSYNC
...
It doesn't exist in desktop D3D9 and
we fail device creation with this value anyway.
2025-03-08 13:32:23 +01:00
Robin Kertels
cd4091877e
[d3d9] Remove misleading comment
2025-03-08 13:32:23 +01:00
Robin Kertels
ce2fc3171e
[util] Enable extra frontbuffer for Silent Hill 2
2025-03-08 13:32:23 +01:00
Robin Kertels
fe10e44385
[d3d9] Add option for extra frame buffer to fix GetFrameBufferData
2025-03-08 13:32:23 +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