From 50fa1355942162f7fc0f018cf528fc52a6c6e4e0 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sat, 18 Feb 2017 14:13:32 +1000 Subject: [PATCH] Vulkan: Handle BUG_PRIMITIVE_RESTART --- Source/Core/VideoBackends/Vulkan/VulkanContext.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp b/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp index a7d1b628fb..7dc809e6b2 100644 --- a/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp +++ b/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp @@ -276,6 +276,11 @@ void VulkanContext::PopulateBackendInfoFeatures(VideoConfig* config, VkPhysicalD // Depth clamping implies shaderClipDistance and depthClamp config->backend_info.bSupportsDepthClamp = (features.depthClamp == VK_TRUE && features.shaderClipDistance == VK_TRUE); + + // Our usage of primitive restart appears to be broken on AMD's binary drivers. + // Seems to be fine on GCN Gen 1-2, unconfirmed on GCN Gen 3, causes driver resets on GCN Gen 4. + if (DriverDetails::HasBug(DriverDetails::BUG_PRIMITIVE_RESTART)) + config->backend_info.bSupportsPrimitiveRestart = false; } void VulkanContext::PopulateBackendInfoMultisampleModes(