Commit Graph

4968 Commits

Author SHA1 Message Date
Philip Rebohle d42df37257 [meta] Clean up obsolete feature levels in Vulkan profile 2022-09-04 18:28:27 +02:00
Philip Rebohle e8c1a8e734 [dxbc] Clean up support check for R32 reads without format 2022-09-04 18:28:27 +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 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 2659cfc674 [native] Add defines for DuplicateHandle flags 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
Jens Peters 4fc5ba66ed [util] Add missing feature level in example config 2022-09-01 04:36:02 +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 632e26f687 [tests] Remove D3D11 and DXGI tests 2022-08-31 16:43:55 +02:00
Philip Rebohle 2b6a903ad9 [tests] Remove DXBC tests 2022-08-31 16:26:37 +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 5e33374fd2 [meta] Remove shaderStorageImage*WithoutFormat capabilities from profile
We no longer use these.
2022-08-30 13:20:50 +02:00
Philip Rebohle 399ba71387 [meta] Add profile for D3D11 FL12_0 2022-08-30 13:18:15 +02:00
Philip Rebohle 788d80cfe7 [meta] Fix some trailing comma warnings in Vulkan profile 2022-08-30 13:17:52 +02:00
Christophe 575367461c Add VKDK profiles file to express Vulkan requirements 2022-08-30 12:54:45 +02:00
Georg Lehmann b96947107a [build] Remove dead lib_d3dcompiler_43.
Fixes MSVC build.
2022-08-30 10:16:18 +01: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
Philip Rebohle 8395033f4a [meta] Remove d3d10 options from setup script 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
Blisto91 7ebd359941 [util] correct maxFeatureLevel to 12_0 in example config 2022-08-27 22:02:35 +02:00
Krzysztof Bogacki 2fa628fce6 [build] Remove vulkan-1.lib 2022-08-27 20:18:06 +01: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