Philip Rebohle
43661abbfc
[d3d11] Add binding methods to D3D11CommonContext
...
Uses mutable lambdas to avoid redundant ref counting on immediate contexts.
2022-08-04 13:43:35 +02:00
Philip Rebohle
a7c25a01f2
[d3d11] Move D3D11DeviceContextExt to D3D11CommonContext
...
Will be needed for both EmitCs and TrackSequenceNumber functions.
2022-08-04 13:43:35 +02:00
Philip Rebohle
3f5f731c42
[d3d11] Move D3D11UserDefinedAnnotation member to D3D11CommonContext
...
This needs to be temlpated because we'll be moving EmitCs to the
common implementation as well, and make EmitCsChunk non-virtual.
2022-08-04 13:43:35 +02:00
Philip Rebohle
10345d0063
[d3d11] Move QueryInterface to D3D11CommonContext
2022-08-04 13:43:35 +02:00
Philip Rebohle
4af974768a
[d3d11] Refactor D3D11UserDefinedAnnotation
2022-08-04 13:43:35 +02:00
Philip Rebohle
3ead348b82
[d3d11] Move UpdateSubresource code to D3D11CommonContext
2022-08-04 13:43:35 +02:00
Philip Rebohle
e4204f76e6
[d3d11] Introduce D3D11CommonContext
2022-08-04 13:43:35 +02:00
Philip Rebohle
727fd7ac33
[d3d11] Add option to control sampler LOD bias
2022-08-01 13:15:09 +02:00
Derek Lesho
8fefb099d7
[d3d11] Add support for shared ID3D11Fence resources
2022-07-21 23:39:31 +02:00
Philip Rebohle
dcd2c4847b
[d3d11] Implement ID3D11Fence
...
No interop support just yet.
Co-authored-by: Derek Lesho <dlesho@codeweavers.com>
2022-07-21 02:15:16 +02:00
Philip Rebohle
cdf22a4086
[dxvk] Rename imageFormatInfo -> lookupFormatInfo
2022-07-15 17:25:13 +02:00
Philip Rebohle
f60bdcbcbf
[dxvk] Replace VK_EXT_shader_demote_to_helper_invocation with core feature
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
2774a04195
[dxvk] Use VkPhysicalDeviceVulkan11{Features,Properties} where appropriate
2022-07-14 21:21:34 +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
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
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
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
00cfee9d17
[d3d11] Ignore OMSetRenderTargets calls with incompatible view sizes
...
Fixes #2701 .
2022-07-10 15:17:00 +02:00
Georg Lehmann
f2b1805d7e
[dxvk] Allow non seamless samplers.
2022-07-07 14:18:49 +01:00
Philip Rebohle
a637134c56
[d3d11,dxbc] Use push constant instead of spec constant for rasterizer sample count
2022-07-03 13:41:06 +02:00
Philip Rebohle
185331df9c
[d3d11] Don't use spec constants for video blitter
...
Store required info in the UBO instead.
2022-07-03 13:41:06 +02:00
Philip Rebohle
2e7e9eac7a
[dxvk] Require EXT_robustness2 and the null descriptor feature
2022-07-03 13:41:03 +02:00
Philip Rebohle
db07861518
[dxvk] Remove old pipeline layout implementation
2022-06-28 14:35:58 +02:00
Philip Rebohle
7e42939a4a
[d3d11] Call endFrame at the end of each frame
2022-06-28 14:35:57 +02:00
Philip Rebohle
ab0c15ea54
[dxvk] Introduce DxvkContextType
2022-06-28 14:35:57 +02:00
Philip Rebohle
cb57c2f7fb
[d3d11] Pass new binding info struct to video processor shader
2022-06-28 14:32:31 +02:00
Philip Rebohle
d05864cbcb
[d3d11] Pass shader stage for binding video processor resources
2022-06-28 14:32:30 +02:00
Philip Rebohle
a1bbc77c04
[d3d11] Pass shader stage for binding resources in context methods
2022-06-28 14:32:30 +02:00
Philip Rebohle
6ddd0cfe0a
[d3d11] Do not add UINT formats to all UAV format lists
...
Analogous to vkd3d-proton changes. Allows drivers to use compression more
frequently.
2022-04-25 17:37:10 +02:00
Philip Rebohle
a85f7c48a5
[d3d11] Make ClearUnorderedAccessViewUINT fallback more generic
2022-04-25 17:34:45 +02:00
Philip Rebohle
a731f5daae
[d3d11] Use new DxvkShader constructor for video shaders
2022-04-18 13:20:16 +02:00
Philip Rebohle
69817a84dc
[d3d11] Use new DxvkShaderCreateInfo struct to retrieve shader info
2022-04-18 13:20:16 +02:00
Philip Rebohle
e07157fe72
[d3d11] Only apply anisotropy override to linear samplers
...
Mirrors D3D9, more or less.
2022-03-30 14:37:33 +02:00
Philip Rebohle
e7e7fa231c
[dxvk] GPU query reset path
...
Require VK_EXT_host_query_reset instead. This fallback path is
untested nowadays and too slow to be useful.
2022-03-30 13:32:18 +02:00
Derek Lesho
d11f0ac77b
[d3d11] Always export correct shared handle type from ::GetSharedHandle and ::CreateSharedHandle
...
Before we just assumed that the calls here would match the corresponding flag value (D3D11_RESOURCE_MISC_SHARED -> ::GetSharedHandle, D3D11_RESOURCE_MISC_SHARED_NTHANDLE -> ::CreateSharedHandle), but it turns out that its possible to set both flags and use both methods. Now we always tell Vulkan to export a KMT handle if D3D11_RESOURCE_MISC_SHARED is present, and use openKmtHandle to get an NT handle when needed.
2022-03-28 21:38:42 +02:00
Philip Rebohle
586948df1e
[d3d11] Get strong reference to swap chain in swap chain back buffers
2022-03-22 19:48:13 +01:00
Philip Rebohle
42edb62df8
[d3d11] Use smart pointer for swap chain back buffer
2022-03-22 19:28:49 +01:00
Joshua Ashton
cf1cee04b8
[d3d11] Register annotation interfaces with D3D9
...
Some apps try use the D3DPERF_ functions for debug markers/annotations.
This utilizes the DXVK_RegisterAnnotation hidden functions to share the interfaces.
Co-authored-by: Oleg Kuznetsov <okouznetsov@nvidia.com>
2022-03-17 11:35:19 +01:00
Joshua Ashton
5d54d79865
[d3d11] Use IDXVKUserDefinedAnnotation
2022-03-17 11:35:19 +01:00
Joshua Ashton
0bc972697b
[d3d11] Fix D3D11UserDefinedAnnotation declaration
...
Mark it as final too.
2022-03-17 11:35:19 +01:00
Georg Lehmann
2550cff149
[build] Cleanup build system.
...
No changes except dropping support for msvc before 15.3.
2022-03-17 01:38:58 +00:00
Philip Rebohle
c87660480d
[d3d11] Reimplement R11G11B10 UAV clears without R32 views
2022-03-12 16:23:42 +01:00