1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-03-14 22:29:15 +01:00

6710 Commits

Author SHA1 Message Date
WinterSnowfall
4a83a16aae
[d3d8] Move D3D8 options description into dxvk.conf 2025-03-07 19:32:26 +02:00
WinterSnowfall
57c1493f0a
[d3d8/9] Enforce SM1 when in D3D8 compatibility mode 2025-03-07 19:32:26 +02:00
WinterSnowfall
a20a700251
[dxvk/d3d9] Adjust/remove several loggers 2025-03-07 19:32:26 +02:00
WinterSnowfall
43afe90fcd
[d3d8] Validate normals component count for FVF shaders 2025-03-07 19:32:19 +02: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
Philip Rebohle
2cd305e606 [dxvk] Enable uniformBufferStandardLayout feature
Core and required in Vulkan 1.2, but keep it optional anyway for now
since we're not really doing anything critical with it.
2025-02-26 20:52:25 +01:00
Philip Rebohle
ec5bd04378 [dxvk] Remove uniform data from shaders
No longer used
2025-02-26 20:52:25 +01:00
Philip Rebohle
43f360d20c [d3d11] Move immediate constant buffers to non-mapped VRAM
This has the advantage that icbs can be defragmented and don't
take up space in HVV chunks that would potentially go unused.
2025-02-26 20:52:25 +01:00
Philip Rebohle
6f59124e9a [dxbc] Retrieve icb data directly from shader module 2025-02-26 20:52:25 +01:00
Philip Rebohle
d6d13edb7a [dxbc] Use smallest aligned vector type for buffer-backed ubo 2025-02-26 20:52:25 +01:00
Philip Rebohle
31192b6d3f [dxbc] Rework embedded immediate constant buffers
Considerably reduces the size of immediate constant buffer arrays when
not all vector components are used. Also adds bound-checking.
2025-02-26 20:52:25 +01:00
WinterSnowfall
31a4679960 [dxvk] Don't skip CPU devices when a device filter is set 2025-02-25 21:39:22 +01:00
Philip Rebohle
13bd234cea [dxvk] Actually fix multidraw workaround
Otherwise we'll end up using the feature anyway.
2025-02-25 14:18:05 +01:00
Philip Rebohle
dafb71b18e [d3d11] Add debug labels for submissions 2025-02-25 00:17:35 +01:00