summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLC <mathew1800@gmail.com>2020-08-30 22:04:32 -0400
committerGitHub <noreply@github.com>2020-08-30 22:04:32 -0400
commit0090d3d087e60dec0c2f1d2545d841413a5498a6 (patch)
tree2d187a1b2e80cc2c9ea33e5fe1e046e81e7e6d0e
parente9b9fc467446b09ea574bed7cbb7ecb7e7ace068 (diff)
parentc573920c01b8c2baa94d435f171a24c8f9667620 (diff)
Merge pull request #4614 from ReinUsesLisp/fix-extended-state-again
vk_device: Fix driver id check on AMD for VK_EXT_extended_dynamic_state
-rw-r--r--src/video_core/renderer_vulkan/vk_device.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/video_core/renderer_vulkan/vk_device.cpp b/src/video_core/renderer_vulkan/vk_device.cpp
index 030b4dbd3..4205bd573 100644
--- a/src/video_core/renderer_vulkan/vk_device.cpp
+++ b/src/video_core/renderer_vulkan/vk_device.cpp
@@ -380,6 +380,14 @@ bool VKDevice::Create() {
CollectTelemetryParameters();
+ if (ext_extended_dynamic_state && driver_id == VK_DRIVER_ID_AMD_PROPRIETARY_KHR) {
+ // AMD's proprietary driver supports VK_EXT_extended_dynamic_state but the <stride> field
+ // seems to be bugged. Blacklisting it for now.
+ LOG_WARNING(Render_Vulkan,
+ "Blacklisting AMD proprietary from VK_EXT_extended_dynamic_state");
+ ext_extended_dynamic_state = false;
+ }
+
graphics_queue = logical.GetQueue(graphics_family);
present_queue = logical.GetQueue(present_family);
@@ -691,12 +699,7 @@ std::vector<const char*> VKDevice::LoadExtensions() {
}
}
- if (has_ext_extended_dynamic_state && driver_id == VK_DRIVER_ID_AMD_PROPRIETARY) {
- // AMD's proprietary driver supports VK_EXT_extended_dynamic_state but the <stride> field
- // seems to be bugged. Blacklisting it for now.
- LOG_WARNING(Render_Vulkan,
- "Blacklisting AMD proprietary from VK_EXT_extended_dynamic_state");
- } else if (has_ext_extended_dynamic_state) {
+ if (has_ext_extended_dynamic_state) {
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT dynamic_state;
dynamic_state.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT;
dynamic_state.pNext = nullptr;