From 237cc9781e0ca0e76d19d7e7ecb8764fc97c756e Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Tue, 25 Nov 2025 15:52:41 -0400 Subject: [PATCH] Remove VK_EXT_CUSTOM_BORDER_COLOR --- src/video_core/vulkan_common/vulkan_device.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index f92be1837e..94148f9240 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -25,6 +25,7 @@ #include "video_core/vulkan_common/vulkan_device.h" #include "video_core/vulkan_common/vulkan_wrapper.h" #include "video_core/gpu_logging/gpu_logging.h" +#include "vulkan/vulkan_core.h" #if defined(ANDROID) && defined(ARCHITECTURE_arm64) #include @@ -1117,6 +1118,19 @@ bool Device::GetSuitability(bool requires_swapchain) { // Driver detection variables for workarounds in GetSuitability const VkDriverId driver_id = properties.driver.driverID; + + const bool is_intel_windows = driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS; + const bool is_turnip = driver_id == VK_DRIVER_ID_MESA_TURNIP; + // VK_EXT_CUSTOM_BORDER_COLOR + if (extensions.custom_border_color && (driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY || is_turnip)) { + const char* driver_name = is_turnip ? "Turnip" : "Adreno"; + LOG_WARNING(Render_Vulkan, + "{} driver has broken custom border color handling; disabling VK_EXT_custom_border_color", + driver_name); + RemoveExtensionFeature(extensions.custom_border_color, features.custom_border_color, + VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME); + } + // VK_EXT_extended_dynamic_state2 below this will appear drivers that need workarounds. // Samsung: Broken extendedDynamicState3ColorBlendEquation