summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlat9nq <lat9nq@gmail.com>2022-05-20 02:05:37 +0200
committerlat9nq <lat9nq@gmail.com>2022-05-25 07:22:15 +0200
commit3a8c2ae328a03c3d71209e371ea6f3b2fe5de251 (patch)
tree75dd60dd43f350a3df9716aa6e4bd74b143e09ec
parentMerge pull request #8351 from abouvier/patch-2 (diff)
downloadyuzu-3a8c2ae328a03c3d71209e371ea6f3b2fe5de251.tar
yuzu-3a8c2ae328a03c3d71209e371ea6f3b2fe5de251.tar.gz
yuzu-3a8c2ae328a03c3d71209e371ea6f3b2fe5de251.tar.bz2
yuzu-3a8c2ae328a03c3d71209e371ea6f3b2fe5de251.tar.lz
yuzu-3a8c2ae328a03c3d71209e371ea6f3b2fe5de251.tar.xz
yuzu-3a8c2ae328a03c3d71209e371ea6f3b2fe5de251.tar.zst
yuzu-3a8c2ae328a03c3d71209e371ea6f3b2fe5de251.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;