diff options
| author | 2023-02-19 01:19:53 -0800 | |
|---|---|---|
| committer | 2023-06-03 00:05:32 -0700 | |
| commit | 21320d80d90a3952dfc24284a3caa8877b6b9151 (patch) | |
| tree | 6718fe1320dfcd214faadba677ea1c8f20a791a0 /src | |
| parent | android: frontend: Add support for GPU driver selection. (diff) | |
| download | yuzu-21320d80d90a3952dfc24284a3caa8877b6b9151.tar.gz yuzu-21320d80d90a3952dfc24284a3caa8877b6b9151.tar.xz yuzu-21320d80d90a3952dfc24284a3caa8877b6b9151.zip | |
android: vulkan_device: Disable VK_EXT_extended_dynamic_state2 on Qualcomm.
- Newer drivers report this as supported, but it is broken.
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 40cdf2fde..79686a176 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp | |||
| @@ -365,12 +365,12 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR | |||
| 365 | if (is_qualcomm) { | 365 | if (is_qualcomm) { |
| 366 | must_emulate_scaled_formats = true; | 366 | must_emulate_scaled_formats = true; |
| 367 | 367 | ||
| 368 | LOG_WARNING(Render_Vulkan, "Adreno drivers have broken VK_EXT_extended_dynamic_state"); | 368 | LOG_WARNING(Render_Vulkan, "Qualcomm drivers have broken VK_EXT_extended_dynamic_state"); |
| 369 | extensions.extended_dynamic_state = false; | 369 | extensions.extended_dynamic_state = false; |
| 370 | loaded_extensions.erase(VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME); | 370 | loaded_extensions.erase(VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME); |
| 371 | 371 | ||
| 372 | LOG_WARNING(Render_Vulkan, | 372 | LOG_WARNING(Render_Vulkan, |
| 373 | "Adreno drivers have a slow VK_KHR_push_descriptor implementation"); | 373 | "Qualcomm drivers have a slow VK_KHR_push_descriptor implementation"); |
| 374 | extensions.push_descriptor = false; | 374 | extensions.push_descriptor = false; |
| 375 | loaded_extensions.erase(VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME); | 375 | loaded_extensions.erase(VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME); |
| 376 | 376 | ||
| @@ -436,7 +436,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR | |||
| 436 | loaded_extensions.erase(VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME); | 436 | loaded_extensions.erase(VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME); |
| 437 | } | 437 | } |
| 438 | } | 438 | } |
| 439 | if (extensions.extended_dynamic_state2 && is_radv) { | 439 | if (extensions.extended_dynamic_state2 && (is_radv || is_qualcomm)) { |
| 440 | const u32 version = (properties.properties.driverVersion << 3) >> 3; | 440 | const u32 version = (properties.properties.driverVersion << 3) >> 3; |
| 441 | if (version < VK_MAKE_API_VERSION(0, 22, 3, 1)) { | 441 | if (version < VK_MAKE_API_VERSION(0, 22, 3, 1)) { |
| 442 | LOG_WARNING( | 442 | LOG_WARNING( |