Philip Rebohle
f4b91817fe
[dxvk] Create dummy sampler and buffer on demand
...
We only need the dummy buffer for transform feedback, all other cases
are handled by null descriptors. May save a memory allocation.
2023-03-01 12:10:48 +01:00
Philip Rebohle
2be0d6842e
[dxvk] Add option to limit memory chunk size
2023-03-01 11:53:18 +01:00
Robin Kertels
0d28be4ab8
[d3d9] Fix capturing lights in state block
2023-02-23 13:15:17 +00:00
Blisto91
081181313e
[util] Limit Battle Fantasia Revisited Edition to 60fps ( #3256 )
2023-02-18 10:54:14 +01:00
TacoDeBoss
caf31033d7
[util] Far Cry 2: Set VendorId to Nvidia, enable apitraceMode ( #3241 )
2023-02-07 12:14:48 +01:00
Paul Gofman
2263dcad95
[d3d11] Improve video processor caps query stubs
2023-01-31 13:39:09 +01:00
Jens Peters
41b1efd7ce
[dxgi] Fix potential division by zero in log statement
...
Apparently 0/0 is legal and should be interpreted as 0/1.
2023-01-28 00:51:01 +01:00
Philip Rebohle
c6111eaf61
[dxvk] Fix small_vector size
...
Kind of harmless since we're not using this much.
2023-01-27 05:27:49 +01:00
Philip Rebohle
2abc102d2c
[meta] Release 2.1
2023-01-24 14:54:09 +01:00
Philip Rebohle
61d72eebc1
[dxgi,d3d9] Use global singleton for DXVK instances
...
No reason to have multiple of these around, and instance creation
is fairly expensive.
2023-01-23 17:17:56 +01:00
Philip Rebohle
d4143429c4
[util] Add Singleton helper
2023-01-23 17:17:43 +01:00
Philip Rebohle
255ab1a63c
[hud] Display more useful driver info in HUD
...
Vulkan versions are irrelevant anyway, not sure why we
ever displayed that in the first place.
2023-01-23 00:10:39 +01:00
Philip Rebohle
3128f4ea8e
[dxgi] Implement IDXGIVkInteropFactory for DXGI factory
2023-01-22 20:04:39 +01:00
Philip Rebohle
0ee69fef00
[dxgi] Define IDXGIVkInteropFactory interface
2023-01-22 19:57:17 +01:00
Philip Rebohle
41ee092b97
[dxvk] Get rid of global timeline semaphore
...
Timeline semaphores are broken on 32-bit Proton, so just use the existing
command list binary semaphore to synchronize sparse binding operation.
This will introduce some additional graphics queue submissions around
sparse binding, but since that is basically unused it's not a concern.
2023-01-21 13:15:09 +01:00
Philip Rebohle
d020f4451a
[dxvk] Invalidate all v16 cache files
...
We were randomly writing bogus data in an irrecoverable way,
so in order to not cause any problems for users, invalidate
all caches created with this version.
2023-01-21 01:24:02 +01:00
Philip Rebohle
3d24560af7
[dxvk] Fix reading out-of-bounds memory in state cache
...
Fixes #3196 , not to mention that this was god-awful code anyway.
2023-01-21 01:14:45 +01:00
Philip Rebohle
0af5ececa6
[dxvk] Also reset descriptor pool when only one pool is in use
...
This way we can often avoid allocating additional descriptor pools.
2023-01-20 15:23:25 +01:00
Philip Rebohle
eacb8da9f7
[dxvk] Tweak descriptor pool numbers
...
Increases the descriptor pool size on 64-bit, but also makes
significantly better use of descriptor pool memory in situations
with very high draw counts and many UBO descriptor set updates.
2023-01-20 14:34:46 +01:00
Philip Rebohle
4d0d455895
[vulkan] Try loading winevulkan.dll before vulkan-1.dll
...
Should bypass issues with third-party overlays trying to hook Vulkan.
2023-01-18 18:10:57 +01:00
Philip Rebohle
c6668ffbaa
[dxvk] Drop shader module workaround for compute pipelines.
...
This was a bug in early Nvidia development drivers, but has been fixed since.
2023-01-18 15:56:00 +01:00
Blisto91
906b931e61
[util] Disable unmapping for BlazBlue Centralfiction
2023-01-17 20:49:26 +01:00
Philip Rebohle
d7a4ddb5d0
[d3d11] Implement more accurate resource tracking on deferred contexts
...
Allows us to track chunks that access any given tracked resource more
accurately and flush as needed, e.g. if a staging buffer is written at
the start of a long command list.
2023-01-17 15:01:06 +01:00
Philip Rebohle
cf5adb8b12
[d3d11] Improve flushing around deferred context submissions
2023-01-17 15:01:06 +01:00
Philip Rebohle
591e2df701
[d3d11] Consider flushing after each CS chunk
...
This way we will never end up with overly long command lists.
2023-01-17 15:01:06 +01:00
Philip Rebohle
2a3d7ee7dc
[d3d11] Use new flush heuristic
2023-01-17 15:01:06 +01:00
Philip Rebohle
f952418958
[d3d11] Determine pending commands based on sequence number
...
We get this for free and this allows us to query how many CS chunks
have been emitted since the last flush.
2023-01-17 15:01:06 +01:00
Philip Rebohle
0ac247c89c
[util] Add helper class for common flush heuristic
2023-01-17 15:01:06 +01:00
Philip Rebohle
741cc493c6
[dxvk] Increase maximum number of command buffers in flight
2023-01-17 15:01:06 +01:00
Philip Rebohle
f7aa310fdd
[dxvk] Disable pipeline lifetime tracking for RADV
...
Seems like this is not needed on this driver, so let's just use
the fast path by default. Makes the current implementation work
with 32-bit games as well since caching does not work yet.
2023-01-17 14:02:38 +01:00
Philip Rebohle
421d7d9077
Revert "[vulkan] Use fence for acquiring a swap chain image"
...
Breaks things and we don't really need this right now anyway.
2023-01-16 23:16:38 +01:00
Philip Rebohle
599357721a
[hud] Support HDR color spaces
...
Blending is broken if we need to do encoding in the shader, but we
cannot do much about that without changing the rendering process,
so this will have to do for now.
2023-01-16 18:04:18 +00:00
Philip Rebohle
0e503ce795
[vulkan] Log swap chain color space
2023-01-16 18:04:18 +00:00
Philip Rebohle
1482715fd1
[vulkan] Use fence for acquiring a swap chain image
...
In practice, drivers will block here anyway.
2023-01-16 16:20:56 +01:00
Joshua Ashton
132bc529c3
[dxgi] Only allow colorspace punting if we started in sRGB
2023-01-16 13:45:03 +01:00
Joshua Ashton
28ee6867be
[dxgi] Expose only sRGB when enableHDR is disabled
...
Death Stranding: Director's Cut crashes if HDR was last enabled in-game and CheckColorSpaceSupport reports support for HDR but it is not globally enabled in DXGIOutput::GetDesc1's ColorSpace.
It seems safer to just lock HDR behind an option to avoid any teething issues like this. It sucks, but it also makes sense in a way.
2023-01-16 13:45:03 +01:00
Joshua Ashton
bb75e214d6
[dxgi] Store top-level DxgiFactory in DxgiSwapChain
...
Can do this now that we tossed the old stuff that depended on the swapchain factory being resident in D3D11.
2023-01-16 13:45:03 +01:00
Joshua Ashton
9010f11adf
[dxgi, d3d11] Remove support for legacy IWineDXGISwapChainFactory interface
...
vkd3d-proton 2.8 released last year with support for the new swapchain
interface.
No need to keep support for this legacy interface hanging around when
it complicates adding DxgiOptions support to the swapchain.
2023-01-16 13:45:03 +01:00
Philip Rebohle
af05265cb6
[dxvk] Set thread priority for background workers
...
We accidentally lost this somehow.
2023-01-15 15:54:03 +01:00
Philip Rebohle
459758c6ff
[d3d9] Don't set storage buffer usage unless necessary
...
This actually matters now to some degree.
2023-01-15 15:36:05 +01:00
Philip Rebohle
d35bf455d9
[dxvk] Rename bindResourceBuffer to bindUniformBuffer
2023-01-15 15:36:05 +01:00
Philip Rebohle
a8f9fdb21d
[dxvk] Rearrange descriptor sets
...
This allows us not to unnecessarily dirty the FS UBO set when
changing tetxure bindings, leading to a cleaner separation.
2023-01-15 15:36:05 +01:00
Philip Rebohle
4a30933359
[dxvk] Add UBO set property to descriptor info
...
Used to explicitly propagate storage buffer bindings
to the respective UBO set.
2023-01-15 15:36:05 +01:00
Philip Rebohle
6f194b0e7b
[d3d11] Bind UAV counter buffers as views
2023-01-15 15:36:05 +01:00
Philip Rebohle
82f500250f
[hud] Bind data buffers as views
2023-01-15 15:36:05 +01:00
Philip Rebohle
c347bd4d8b
[dxvk] Allow creating buffer views with undefined format
2023-01-15 15:36:05 +01:00
Philip Rebohle
92de3f3f5f
[d3d11] Add missing context locks
2023-01-14 18:40:41 +01:00
Philip Rebohle
1c2df54bdf
[dxvk] Improve logging in case of memory errors
2023-01-14 03:39:55 +01:00
Philip Rebohle
2922b780c1
[dxvk] Properly handle bufferImageGranularity for images
...
Fixes validation errors about dedicated allocations being
bigger than the image's memory requirement on Nvidia.
2023-01-14 03:39:55 +01:00
Robin Kertels
97a91c816f
[d3d9] Disable instancing for non-indexed draws
2023-01-13 21:58:41 +00:00