Commit Graph

4430 Commits

Author SHA1 Message Date
Philip Rebohle 81b89cf31d
[dxvk] Simplify Nvidia HVV workaround
We no longer support 465 series drivers, so the check was obsolete.
2022-07-14 21:21:34 +02:00
Philip Rebohle 131af0d677
[dxvk] Replace VK_KHR_driver_properties with core feature 2022-07-14 21:21:34 +02:00
Philip Rebohle 78c5ef88bc
[dxvk] Replace VK_KHR_shader_float_controls with core feature 2022-07-14 21:21:34 +02:00
Philip Rebohle 000e3cb960
[dxvk] Replace VK_KHR_image_format_list with core feature 2022-07-14 21:21:34 +02:00
Philip Rebohle 956f293a69
[dxvk] Replace VK_KHR_depth_stencil_resolve with core feature 2022-07-14 21:21:34 +02:00
Philip Rebohle b701dd497f
[dxvk] Drop VK_KHR_create_renderpass2 2022-07-14 21:21:34 +02:00
Philip Rebohle d657a526ae
[dxvk] Replace VK_EXT_shader_viewport_index_layer with core features
And enable them optionally in the backend, since we use this for meta
operations.
2022-07-14 21:21:34 +02:00
Philip Rebohle afdaba6caf
[dxvk] Replace VK_KHR_buffer_device_address with core feature 2022-07-14 21:21:34 +02:00
Philip Rebohle 0b47297b7d
[dxvk] Replace VK_EXT_host_query_reset with core feature
And make it a hard requirement in the backend. We no longer support
the old fallback path for queries anyway.
2022-07-14 21:21:34 +02:00
Philip Rebohle f07ba07ad8
[dxvk] Replace VK_KHR_draw_indirect_count with core feature
And enable it optionally in the backend, since we provide the functionality.
2022-07-14 21:21:34 +02:00
Philip Rebohle eee4ac1e91
[dxvk] Replace VK_KHR_sampler_mirror_clamp_to_edge with core features
And make it a hard requirement. We're not checking for feature support
anyway and all relevant drivers support this feature anyway.
2022-07-14 21:21:34 +02:00
Philip Rebohle 73f313f904
[dxvk] Enable Vulkan 1.2 feature structs 2022-07-14 21:21:34 +02:00
Philip Rebohle 2774a04195
[dxvk] Use VkPhysicalDeviceVulkan11{Features,Properties} where appropriate 2022-07-14 21:21:34 +02:00
Philip Rebohle fd15795a0b
[dxvk] Require Vulkan 1.3 adapter 2022-07-14 21:21:34 +02:00
Philip Rebohle 6ac5ca3bff [d3d9] Use existing staging buffer implementation for managed uploads 2022-07-14 18:22:23 +02:00
Philip Rebohle f07a6e160c [d3d9] Rework UP buffer allocation 2022-07-14 18:22:23 +02:00
Joshua Ashton e884413c49 [dxvk] Don't synchronize device if going for DLL shutdown
All our other threads have been destroyed and we can no longer synchronize with them properly.

Co-authored-by: Paul Gofman <pgofman@codeweavers.com>
2022-07-14 17:04:52 +02:00
Georg Lehmann 5ae5476d71 [d3d9] Make reported sample counts consistent with DecodeMultiSampleType behavior. 2022-07-14 15:32:42 +01:00
Philip Rebohle 9e110cd3e5 [d3d9] Fix up unsupported sample counts 2022-07-14 14:58:58 +01:00
Philip Rebohle 74a8bfb774 [d3d9] Remove CreateConstantBuffer method 2022-07-14 15:55:08 +02:00
Philip Rebohle 4635c72e95 [d3d9] Use generic constant buffers for SWVP 2022-07-14 15:55:08 +02:00
Philip Rebohle 08c3c45853 [d3d9] Use generic constant buffer implementation 2022-07-14 15:55:08 +02:00
Philip Rebohle e8d5ce94ea [d3d9] Introduce D3D9ConstantBuffer 2022-07-14 15:55:08 +02:00
Philip Rebohle bcd2be0698
[d3d11] Fix subtle bug in constant buffer rebinding
Previously, if the app called SetConstantBuffers1 with a non-zero
offset and a full UBO range, and then SetConstantBuffers with the
same buffer, we would not rebind that buffer at offset zero.
2022-07-14 15:14:25 +02:00
Philip Rebohle aef2eb14df
[dxvk] Use BindConstantBufferRange for SetConstantBuffers1 if possible
Reduces ref counting overhead in the few games that use this.
2022-07-14 15:14:21 +02:00
Philip Rebohle ce3eae59a9
[dxvk] Introduce bindResourceBufferRange 2022-07-14 14:56:13 +02:00
Philip Rebohle 57445227ac
[d3d11] Fix render target validation (again)
This behaviour is rather obscure and undocumented, but testing shows
that DSV <-> RTV mismatches are allowed under some circumstances.

Fixes #2555.
2022-07-14 12:39:14 +02:00
Robin Kertels ce48b57f94
[d3d9] Allow POOL_SCRATCH targets in GetFrontBufferData 2022-07-13 14:01:12 +02:00
Blisto91 64d2260656
[d3d9] add D3DFMT_UNKNOWN to windowed BackBufferFormat 2022-07-13 13:03:05 +02:00
Philip Rebohle 95995041b0
[d3d9] Explicitly check for Unknown in CheckDeviceFormatConversion 2022-07-13 12:35:33 +02:00
Robin Kertels 10b174b52c [d3d9] Fix barriers with staging buffers 2022-07-12 21:16:32 +01:00
Philip Rebohle bd68f05c9b
[dxvk] Make emitRenderTargetReadbackBarrier more generic
And also remove the redundant pipeline barrier.
2022-07-12 17:29:11 +02:00
Philip Rebohle 5ff6f3a2ca
[dxvk] Fix graphics UAV barriers
We broke this when replacing gfxBarriers with execBarriers,
since starting a render pass instance clears queued up barriers.
2022-07-12 14:26:52 +02:00
Philip Rebohle 59475fb053
[dxvk] Remove cull mode and front face from pipeline state
And bump state cache version to v14.
2022-07-12 12:07:25 +02:00
Philip Rebohle d3c8d21047
[dxvk] Make cull mode and front face dynamic state 2022-07-12 12:03:05 +02:00
Philip Rebohle 18d4a87333
[dxvk] Add pipeline flag for rasterizer discard 2022-07-12 11:42:24 +02:00
Philip Rebohle 77891d71db
[d3d11] Fix unused variable warning 2022-07-12 11:39:56 +02:00
Philip Rebohle f99a833f51
[d3d11] Remove d3d11.constantBufferRangeCheck option 2022-07-12 02:11:39 +02:00
Philip Rebohle e8f48c71ab
[dxvk] Always enable robustBufferAccess2 feature
And respect the required alignments when creating buffers.
2022-07-12 02:11:32 +02:00
Philip Rebohle 6f5ae58ccc
[dxvk] Remove dummy resources that are no longer needed 2022-07-12 01:54:22 +02:00
Philip Rebohle 6482898167
[dxvk] Mark VK_KHR_create_renderpass_2 as required
Dependency of VK_KHR_dynamic_rendering.
2022-07-12 00:54:24 +02:00
Philip Rebohle 379c2e545e
[util] Work around silly compiler warnings on GCC 12.1
No, we're not actually reading 64 bytes from a 1-byte area.
2022-07-11 19:24:09 +02:00
Philip Rebohle 52038b2f83
[dxvk] Ignore state cache for pipelines that can be fast linked 2022-07-11 16:23:14 +02:00
Philip Rebohle ca52c5a67f
[dxvk] Don't read or create state cache file if state cache is disabled 2022-07-11 01:19:09 +02:00
Philip Rebohle 00cfee9d17
[d3d11] Ignore OMSetRenderTargets calls with incompatible view sizes
Fixes #2701.
2022-07-10 15:17:00 +02:00
Matej Dian 1b89394aa0
[util] Enable cached dynamic resources for DayZ (#2709) 2022-07-09 15:51:04 +02:00
Philip Rebohle 2832083fe5
[dxvk] Properly log pipeline state on error 2022-07-09 13:53:20 +02:00
Philip Rebohle c6168179bd
[dxvk] Re-add render target format validation
This was lost during the state cache and render target state rework.
2022-07-09 13:44:52 +02:00
Philip Rebohle 021aff1fc0
[dxvk] Support fomatting more Vulkan enum names 2022-07-09 13:41:07 +02:00
Philip Rebohle 02aa1736f5
[dxvk] Try to create cached optimized pipeline whenever possible 2022-07-09 13:41:07 +02:00