summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2017-02-18 14:13:32 +1000
committerStenzek <stenzek@gmail.com>2017-02-18 15:07:34 +1000
commit50fa1355942162f7fc0f018cf528fc52a6c6e4e0 (patch)
tree418abfeae6724e32fadac2755c6ff5f6d090fe02 /Source/Core/VideoBackends
parent40942680092418b0e213da9ef0576514557e53eb (diff)
Vulkan: Handle BUG_PRIMITIVE_RESTART
Diffstat (limited to 'Source/Core/VideoBackends')
-rw-r--r--Source/Core/VideoBackends/Vulkan/VulkanContext.cpp5
1 files changed, 5 insertions, 0 deletions
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(