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
c4516c5b04
[dxvk] Improve behaviour when variableMultisampleRate is not supported
2022-09-04 18:28:27 +02:00
Philip Rebohle
8d9d9912ff
[dxvk] Remove extension info from DXVK device
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
51e0a56243
[dxvk] Use new pseudo-features where applicable
2022-09-04 18:28:27 +02:00
Philip Rebohle
019ebeeaf7
[dxvk] Introduce pseudo-features for extensions with no feature struct
...
Makes it easier to keep track of supported extensions.
2022-09-04 18:28:27 +02:00
Philip Rebohle
1b66b8c9f3
[dxvk] Go back to fence-based command list synchronization
...
Timeline semaphores are too unreliable on 32-bit Proton builds.
2022-09-04 18:23:11 +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
11ef172c79
[util] Add stubs for DuplicateHandle and GetCurrentProcess
2022-09-02 14:25:12 +02:00
Philip Rebohle
fa743f162b
[dxvk] Don't create queues with QUEUE_FAMILY_IGNORED
...
We accidentally broke drivers which don't support sparse.
Closes #2891 .
Closes #2890 .
Reported-by: mykhailo.skorokhodov@globallogic.com
2022-09-02 11:07:09 +02:00
Joshua Ashton
36f523bbf5
[vulkan] Fix loading libvulkan natively
2022-09-01 04:37:43 +02:00
Joshua Ashton
b05ae33273
[util] Return null if HMODULE is nullptr in GetProcAddress compat
...
dlsym with NULL will try to find the symbol from anything currently
loaded.
2022-09-01 04:37:43 +02:00
Philip Rebohle
735349bf1b
[dxvk] Fix barrier typo
2022-09-01 03:35:58 +02:00
Philip Rebohle
097d3edd05
[dxvk] Create debug messenger if DXVK_DEBUG=validation is set
2022-09-01 00:25:10 +02:00
Philip Rebohle
2f39ae792a
[dxvk] Change DXVK_PERF_EVENTS environment variable to DXVK_DEBUG
2022-09-01 00:25:10 +02:00
Philip Rebohle
f8781e1c4c
[vulkan] Add missing VK_EXT_debug_utils entry points
2022-09-01 00:25:10 +02:00
Philip Rebohle
321338af00
[dxvk] Remove unused m_device member from DxvkBuffer
2022-09-01 00:07:23 +02:00
Philip Rebohle
7b4925dc45
[dxvk] Fix potential sparse allocator lifetime issues
2022-08-31 23:48:46 +02:00
Philip Rebohle
c3c6dbf669
[dxvk] Fix potential buffer lifetime issues
2022-08-31 23:48:34 +02:00
Philip Rebohle
a11fb568b9
[tests] Remove D3D9 tests
2022-08-31 17:01:22 +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
354b88d178
[dxvk] Add shader method to retrieve raw code
2022-08-31 16:25:44 +02:00
WinterSnowfall
3e0031cefe
[util] Add a maxAvailableMemory limit for Heroes of Annihilated Empires
2022-08-30 13:21:29 +02:00
Philip Rebohle
c72c6ec6ed
[d3d10] Remove d3d10.dll and d3d10_1.dll
...
These are incomplete and are already not being used anyway,
so just drop them.
2022-08-30 02:42:03 +02:00
Joshua Ashton
c49b1ee390
[d3d9] Use SetStateTexture in Reset
...
Fixes m_activeTextures not getting updated
2022-08-29 10:16:21 +00:00
Joshua Ashton
86efa46fcf
[dxvk] Throw DxvkError if we failed to load vulkan library
2022-08-27 19:32:03 +02:00
Joshua Ashton
286ab017da
[vulkan] Add valid method to LibraryLoader
2022-08-27 19:32:03 +02:00
Joshua Ashton
482a7e433b
[vulkan] Make LibraryLoader dynamically load vulkan-1
...
This makes LibraryLoader actually load the library and moves ownership
of GetInstanceProcAddr into it, which means we pass through the
loaders into their parents to grab stuff.
2022-08-27 19:32:03 +02:00
Joshua Ashton
f6fcbb7127
[util] Rename CloseLibrary to FreeLibrary in win32 compat headers
...
Typo...
2022-08-27 19:32:03 +02:00
Robin Kertels
bfd47ec876
[d3d9] Try to match either top or bottom mips in UpdateTexture
2022-08-26 20:56:42 +01: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
eaa5d16616
[dxbc] Use texel buffers for raw/structured buffers with sparse feedback
2022-08-26 05:53:03 +02:00
Philip Rebohle
336aafcdf7
[dxbc] Explicitly store whether a resource is a raw SSBO
2022-08-26 05:53:03 +02:00