diff options
| author | 2022-12-27 22:14:36 -0500 | |
|---|---|---|
| committer | 2023-01-03 21:16:43 -0500 | |
| commit | ddbf851ef614e2ffc52e4f6e52150e7411a8dd3a (patch) | |
| tree | 13d1260ef06d6d8051f980da5bb3fac4ad6fae2c /src | |
| parent | ShaderCompiler: Inline driver specific constants. (diff) | |
| download | yuzu-ddbf851ef614e2ffc52e4f6e52150e7411a8dd3a.tar.gz yuzu-ddbf851ef614e2ffc52e4f6e52150e7411a8dd3a.tar.xz yuzu-ddbf851ef614e2ffc52e4f6e52150e7411a8dd3a.zip | |
Vulkan: Update blacklisting to latest driver versions.
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index d82782f1c..5c5bfa18d 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp | |||
| @@ -756,6 +756,8 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR | |||
| 756 | CollectToolingInfo(); | 756 | CollectToolingInfo(); |
| 757 | 757 | ||
| 758 | if (driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR) { | 758 | if (driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR) { |
| 759 | const u32 nv_major_version = (properties.driverVersion >> 22) & 0x3ff; | ||
| 760 | |||
| 759 | const auto arch = GetNvidiaArchitecture(physical, supported_extensions); | 761 | const auto arch = GetNvidiaArchitecture(physical, supported_extensions); |
| 760 | switch (arch) { | 762 | switch (arch) { |
| 761 | case NvidiaArchitecture::AmpereOrNewer: | 763 | case NvidiaArchitecture::AmpereOrNewer: |
| @@ -765,11 +767,13 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR | |||
| 765 | case NvidiaArchitecture::Turing: | 767 | case NvidiaArchitecture::Turing: |
| 766 | break; | 768 | break; |
| 767 | case NvidiaArchitecture::VoltaOrOlder: | 769 | case NvidiaArchitecture::VoltaOrOlder: |
| 768 | LOG_WARNING(Render_Vulkan, "Blacklisting Volta and older from VK_KHR_push_descriptor"); | 770 | if (nv_major_version < 527) { |
| 769 | khr_push_descriptor = false; | 771 | LOG_WARNING(Render_Vulkan, |
| 772 | "Blacklisting Volta and older from VK_KHR_push_descriptor"); | ||
| 773 | khr_push_descriptor = false; | ||
| 774 | } | ||
| 770 | break; | 775 | break; |
| 771 | } | 776 | } |
| 772 | const u32 nv_major_version = (properties.driverVersion >> 22) & 0x3ff; | ||
| 773 | if (nv_major_version >= 510) { | 777 | if (nv_major_version >= 510) { |
| 774 | LOG_WARNING(Render_Vulkan, "NVIDIA Drivers >= 510 do not support MSAA image blits"); | 778 | LOG_WARNING(Render_Vulkan, "NVIDIA Drivers >= 510 do not support MSAA image blits"); |
| 775 | cant_blit_msaa = true; | 779 | cant_blit_msaa = true; |
| @@ -834,8 +838,11 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR | |||
| 834 | const bool is_intel_windows = driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS; | 838 | const bool is_intel_windows = driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS; |
| 835 | const bool is_intel_anv = driver_id == VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA; | 839 | const bool is_intel_anv = driver_id == VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA; |
| 836 | if (ext_vertex_input_dynamic_state && is_intel_windows) { | 840 | if (ext_vertex_input_dynamic_state && is_intel_windows) { |
| 837 | LOG_WARNING(Render_Vulkan, "Blacklisting Intel for VK_EXT_vertex_input_dynamic_state"); | 841 | const u32 version = (properties.driverVersion << 3) >> 3; |
| 838 | ext_vertex_input_dynamic_state = false; | 842 | if (version < VK_MAKE_API_VERSION(27, 20, 100, 0)) { |
| 843 | LOG_WARNING(Render_Vulkan, "Blacklisting Intel for VK_EXT_vertex_input_dynamic_state"); | ||
| 844 | ext_vertex_input_dynamic_state = false; | ||
| 845 | } | ||
| 839 | } | 846 | } |
| 840 | if (is_float16_supported && is_intel_windows) { | 847 | if (is_float16_supported && is_intel_windows) { |
| 841 | // Intel's compiler crashes when using fp16 on Astral Chain, disable it for the time being. | 848 | // Intel's compiler crashes when using fp16 on Astral Chain, disable it for the time being. |