From ea8d7b015cb4efd053111dbd0f04a9c194a63faa Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sat, 20 Dec 2025 12:33:11 +1000 Subject: [PATCH] VulkanDevice: Only enable KHR_maintenance5 with dynamic rendering Required by spec. Only really gets hit by the disable-on-broken-mobile-driver path. --- src/util/vulkan_device.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/util/vulkan_device.cpp b/src/util/vulkan_device.cpp index 9a31b12be..90605f08b 100644 --- a/src/util/vulkan_device.cpp +++ b/src/util/vulkan_device.cpp @@ -583,7 +583,8 @@ bool VulkanDevice::EnableOptionalDeviceExtensions(VkPhysicalDevice physical_devi (m_optional_extensions.vk_khr_dynamic_rendering && fragment_shader_interlock_feature.fragmentShaderPixelInterlock == VK_TRUE); m_optional_extensions.vk_khr_maintenance4 &= (maintenance4_features.maintenance4 == VK_TRUE); - m_optional_extensions.vk_khr_maintenance5 &= (maintenance5_features.maintenance5 == VK_TRUE); + m_optional_extensions.vk_khr_maintenance5 &= + (m_optional_extensions.vk_khr_dynamic_rendering && maintenance5_features.maintenance5 == VK_TRUE); VkPhysicalDeviceProperties2 properties2 = {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, nullptr, {}}; VkPhysicalDevicePushDescriptorPropertiesKHR push_descriptor_properties = { @@ -633,6 +634,7 @@ bool VulkanDevice::EnableOptionalDeviceExtensions(VkPhysicalDevice physical_devi m_optional_extensions.vk_khr_dynamic_rendering = false; m_optional_extensions.vk_khr_dynamic_rendering_local_read = false; m_optional_extensions.vk_ext_fragment_shader_interlock = false; + m_optional_extensions.vk_khr_maintenance5 = false; WARNING_LOG("Disabling VK_KHR_dynamic_rendering on broken mobile driver."); } if (m_optional_extensions.vk_khr_push_descriptor)