summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@users.noreply.github.com>2017-02-18 21:58:30 +1000
committerGitHub <noreply@github.com>2017-02-18 21:58:30 +1000
commitb8eb1080cef4f067854ce5a0b1d250ce41107fe8 (patch)
tree38eb6d8cc1dc35a69234eb616378c8f740eaa81c /Source/Core/VideoBackends/Vulkan/VulkanContext.cpp
parent6acad279197d3b768737ca701e77439becc13681 (diff)
parente2ddb3853eb8b285ceb488543d68f8c48af2b64d (diff)
Merge pull request #4924 from stenzek/vulkan-list-restart
Vulkan: Fix GPU hangs on AMD Polaris
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/VulkanContext.cpp')
-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(