From bb1d1e484d857520851441f10831b8121598e357 Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Thu, 6 Nov 2025 17:47:05 -0400 Subject: [PATCH] Added Maintenance EXT's for better driver compatibility --- .../vulkan_common/vulkan_device.cpp | 10 ++++---- src/video_core/vulkan_common/vulkan_device.h | 25 +++++++++++++++++++ 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 984f2e28e2..2233bfce35 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -1085,23 +1085,23 @@ bool Device::GetSuitability(bool requires_swapchain) { } if (supported_extensions.contains("VK_KHR_maintenance5")) { loaded_extensions.insert("VK_KHR_maintenance5"); - extensions.maintenance4 = true; + extensions.maintenance5 = true; } if (supported_extensions.contains("VK_KHR_maintenance6")) { loaded_extensions.insert("VK_KHR_maintenance6"); - extensions.maintenance4 = true; + extensions.maintenance6 = true; } if (supported_extensions.contains("VK_KHR_maintenance7")) { loaded_extensions.insert("VK_KHR_maintenance7"); - extensions.maintenance4 = true; + extensions.maintenance7 = true; } if (supported_extensions.contains("VK_KHR_maintenance8")) { loaded_extensions.insert("VK_KHR_maintenance8"); - extensions.maintenance4 = true; + extensions.maintenance8 = true; } if (supported_extensions.contains("VK_KHR_maintenance9")) { loaded_extensions.insert("VK_KHR_maintenance9"); - extensions.maintenance4 = true; + extensions.maintenance9 = true; } #undef FEATURE_EXTENSION diff --git a/src/video_core/vulkan_common/vulkan_device.h b/src/video_core/vulkan_common/vulkan_device.h index cfc684ae07..567663c629 100644 --- a/src/video_core/vulkan_common/vulkan_device.h +++ b/src/video_core/vulkan_common/vulkan_device.h @@ -465,6 +465,31 @@ public: return extensions.maintenance4; } + /// Returns true if VK_KHR_maintenance5 is enabled. + bool IsKhrMaintenance5Supported() const { + return extensions.maintenance5; + } + + /// Returns true if VK_KHR_maintenance6 is enabled. + bool IsKhrMaintenance6Supported() const { + return extensions.maintenance6; + } + + /// Returns true if VK_KHR_maintenance7 is enabled. + bool IsKhrMaintenance7Supported() const { + return extensions.maintenance7; + } + + /// Returns true if VK_KHR_maintenance8 is enabled. + bool IsKhrMaintenance8Supported() const { + return extensions.maintenance8; + } + + /// Returns true if VK_KHR_maintenance9 is enabled. + bool IsKhrMaintenance9Supported() const { + return extensions.maintenance9; + } + /// Returns true if VK_KHR_sampler_mirror_clamp_to_edge is enabled. bool IsKhrSamplerMirrorClampToEdgeSupported() const { return extensions.sampler_mirror_clamp_to_edge;