1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-02-05 11:52:10 +01:00

1392 Commits

Author SHA1 Message Date
Philip Rebohle
5babb29922 [d3d11] Set host stage and access bits for staging resources
We don't need this for resources that we'll never read back from.
2022-09-08 19:26:55 +02:00
Philip Rebohle
9964e4a632 [d3d11] Clean up resource validation around tiled resources 2022-09-05 07:51:08 +02:00
Philip Rebohle
df5756c9a5 [d3d11] Do not report Tiled Resources Tier 3
Neither Nvidia nor AMD drivers report Tier 3 support on Windows,
so this is likely a D3D11 runtime limitation, even though the
API could technically support it.
2022-09-05 07:51:08 +02:00
Philip Rebohle
02600706fe [d3d11] Enable Conservative Rasterization Tier 3
Mostly to bring this in line with vkd3d-proton.
2022-09-05 07:27:00 +02:00
Philip Rebohle
bd912212b5 [d3d11] Adjust preferred mapping modes for default images 2022-09-05 05:52:55 +02:00
Philip Rebohle
fdcbdeb28f [d3d11] Implement dirty trackig for default-mapped images
Avoids GPU synchronization when using WriteToSubresource,
and also reduces bandwidth.
2022-09-05 05:52:55 +02:00
Philip Rebohle
40ffac72d9 [d3d11] Introduce methods for dirty region tracking for mapped images 2022-09-05 05:52:55 +02:00
Philip Rebohle
1bed39f266 [d3d11] Rework ReadFromSubresource and WriteToSubresource
Mainly changes the code to use existing helpers where possible, and
adds support for planar images, which was previously completely broken
for these functions.
2022-09-05 04:32:01 +02:00
Philip Rebohle
ca833082b5 [d3d11] Fix broken image readback for mapped default images 2022-09-05 04:31:13 +02:00
Philip Rebohle
6d9353f4e9 [d3d11] Don't depend on variableMultisampleRate feature 2022-09-04 18:28:27 +02:00
Philip Rebohle
882072e134 [d3d11] Move maximum feature level check to D3D11DeviceFeatures 2022-09-04 18:28:27 +02:00
Philip Rebohle
c082e7f0a9 [d3d11] Add convenience query for Conservative Rasterization tier 2022-09-04 18:28:27 +02:00
Philip Rebohle
59dd2d54cd [d3d11] Add convenience query for Tiled Resources tier 2022-09-04 18:28:27 +02:00
Philip Rebohle
0e70398d4e [d3d11] Use D3D11DeviceFeatures in CheckFeatureSupport 2022-09-04 18:28:27 +02:00
Philip Rebohle
71d6e8f849 [d3d11] Introduce D3D11DeviceFeatures 2022-09-04 18:28:27 +02:00
Philip Rebohle
5490aa936b [d3d11] Rework D3D11 feature enablement
Rather than enabling based on requested feature levels, always enable
all supported features that we might use, and report the maximum
feature level based on that.

This fixes an issue in CreateDeviceContextState which may raise the
device feature level, and another issue wherein the feature level
override is ignored if tiled resources are not supported.
2022-09-04 18:28:27 +02:00
Philip Rebohle
ff6a6e2d37 [d3d11] Use new pseudo-features where applicable 2022-09-04 18:28:27 +02:00
Philip Rebohle
439043ddb4 [d3d11] Do not implicitly stall waitable swap chains 2022-09-02 14:33:11 +02:00
Philip Rebohle
17320776f0 [dxgi] Duplicate frame latency handle
Apps can call CloseHandle on this.
2022-09-02 14:25:12 +02:00
Philip Rebohle
e882a7f8ba [d3d11] Implement extended shader interface 2022-08-31 16:25:44 +02:00
Philip Rebohle
610472e658 [d3d11] Introduce ID3D11VkExtShader 2022-08-31 16:25:44 +02:00
Philip Rebohle
91bdc8d06c [d3d11] Expose feature level 12_0 2022-08-26 05:53:03 +02:00
Philip Rebohle
91ff6d68e1 [d3d11] Expose support for tiled resources 2022-08-26 05:53:03 +02:00
Philip Rebohle
790da79512 [d3d11] Implement min/max filters 2022-08-26 05:53:03 +02:00
Philip Rebohle
0a222aaaf0 [d3d11] Implement CopyTiles and UpdateTiles 2022-08-26 05:53:03 +02:00
Philip Rebohle
ca41bb4ea4 [d3d11] Implement CopyTileMappings 2022-08-26 05:53:03 +02:00
Philip Rebohle
ff2ff37696 [d3d11] Implement UpdateTileMappings 2022-08-26 05:53:03 +02:00
Philip Rebohle
5130638ebe [d3d11] Implement ResizeTilePool 2022-08-26 05:53:03 +02:00
Philip Rebohle
e8f59bfd7c [d3d11] Implement tile pool creation 2022-08-26 05:53:03 +02:00
Philip Rebohle
0cd67cb98a [d3d11] Implement tiled image creation 2022-08-26 05:53:03 +02:00
Philip Rebohle
0637fdf82e [d3d11] Implement tiled buffer creation 2022-08-26 05:53:03 +02:00
Philip Rebohle
7f856b545a [d3d11] Implement format feature check for tiled resources 2022-08-26 05:53:03 +02:00
Philip Rebohle
ca0dedd213 [d3d11] Implement multisampling support check for tiled resources 2022-08-26 05:53:03 +02:00
Philip Rebohle
3f7093325b [d3d11] Implement GetResourceTiling 2022-08-26 05:53:03 +02:00
Philip Rebohle
f97660e210 [d3d11] Implement TiledResourceBarrier 2022-08-26 05:53:03 +02:00
Philip Rebohle
626ccef43b [d3d11] Enable sparse features if supported by the device 2022-08-26 05:53:03 +02:00
Philip Rebohle
2329c71b6f [dxvk] Implement sampler reduction mode 2022-08-26 05:53:03 +02:00
Philip Rebohle
edc74f4c8b [d3d11] Handle D3D11_FEATURE_D3D11_OPTIONS5 2022-08-26 05:15:28 +02:00
Philip Rebohle
9b4e53cee2 [d3d11] Handle D3D11_FEATURE_SHADER_CACHE 2022-08-26 05:15:28 +02:00
Philip Rebohle
9420391dce [d3d11] Adjust reported resource sharing caps 2022-08-26 05:15:28 +02:00
Philip Rebohle
f521a342d0 [d3d11] Report marker support appropriately 2022-08-26 05:15:28 +02:00
Philip Rebohle
559fa50f54 [d3d11] Introduce d3d11.enableContextLock option 2022-08-24 12:27:02 +02:00
Philip Rebohle
86bdda70b4 [d3d11] Move D3D10Multithread instance to immediate context
Deferred contexts do not support this.
2022-08-24 12:15:35 +02:00
Philip Rebohle
cff9056915 [dxvk] Always enable timeline semaphore feature 2022-08-22 00:40:07 +02:00
Philip Rebohle
23c3960f65 [dxvk] Store WSI semaphore pair directly with the command list 2022-08-22 00:07:15 +02:00
Joshua Ashton
801d97806d [d3d11] Stub out OpenSharedResourceGeneric on non-Windows 2022-08-21 22:37:13 +02:00
Joshua Ashton
baba2e3c09 [d3d11] Use dxgi_dep instead of lib_dxgi
Fixes building on native.
2022-08-21 22:03:45 +02:00
Joshua Ashton
baa88d8cf1 [d3d11] Don't check for apitrace on non-Windows platforms 2022-08-21 22:03:45 +02:00
Joshua Ashton
a554a6d60d [d3d11] Include win32 compat headers where applicable 2022-08-21 21:40:55 +02:00
Joshua Ashton
4a113c39d3 [d3d11] Remove compat definitions for older MinGW
These conflict with native builds, and have existed for a long time now.
2022-08-21 21:35:24 +02:00