summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2022-05-25 22:07:28 +0200
committerGitHub <noreply@github.com>2022-05-25 22:07:28 +0200
commit79352ee9d5cdd9ad1234983bd9185c34dbd188c5 (patch)
treef923fd58676cc82a880cd246505d9344cc6cda41
parentMerge pull request #8311 from asLody/fix-stencil-faces (diff)
parentvulkan_device: Workaround extension bug (diff)
downloadyuzu-79352ee9d5cdd9ad1234983bd9185c34dbd188c5.tar
yuzu-79352ee9d5cdd9ad1234983bd9185c34dbd188c5.tar.gz
yuzu-79352ee9d5cdd9ad1234983bd9185c34dbd188c5.tar.bz2
yuzu-79352ee9d5cdd9ad1234983bd9185c34dbd188c5.tar.lz
yuzu-79352ee9d5cdd9ad1234983bd9185c34dbd188c5.tar.xz
yuzu-79352ee9d5cdd9ad1234983bd9185c34dbd188c5.tar.zst
yuzu-79352ee9d5cdd9ad1234983bd9185c34dbd188c5.zip
-rw-r--r--src/video_core/vulkan_common/vulkan_device.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp
index 7b2ca8046..58d0c6a93 100644
--- a/src/video_core/vulkan_common/vulkan_device.cpp
+++ b/src/video_core/vulkan_common/vulkan_device.cpp
@@ -566,7 +566,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
}
VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroup_layout;
- if (khr_workgroup_memory_explicit_layout) {
+ if (khr_workgroup_memory_explicit_layout && is_shader_int16_supported) {
workgroup_layout = {
.sType =
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR,
@@ -577,6 +577,11 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
.workgroupMemoryExplicitLayout16BitAccess = VK_TRUE,
};
SetNext(next, workgroup_layout);
+ } else if (khr_workgroup_memory_explicit_layout) {
+ // TODO(lat9nq): Find a proper fix for this
+ LOG_WARNING(Render_Vulkan, "Disabling VK_KHR_workgroup_memory_explicit_layout due to a "
+ "yuzu bug when host driver does not support 16-bit integers");
+ khr_workgroup_memory_explicit_layout = false;
}
VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR executable_properties;