From fbfdf1200d27260c122bf9fe77b70efb6becaf9b Mon Sep 17 00:00:00 2001 From: Stenzek Date: Fri, 12 Apr 2024 21:59:59 +1000 Subject: [PATCH] GS/Vulkan: Gate non semantic debug info behind extension --- pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp | 2 ++ pcsx2/GS/Renderers/Vulkan/GSDeviceVK.h | 1 + pcsx2/GS/Renderers/Vulkan/VKShaderCache.cpp | 5 ++++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp b/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp index 871f781a28..613fe4602d 100644 --- a/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp +++ b/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp @@ -380,6 +380,8 @@ bool GSDeviceVK::SelectDeviceExtensions(ExtensionList* extension_list, bool enab m_optional_extensions.vk_ext_line_rasterization = SupportsExtension(VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, require_line_rasterization); m_optional_extensions.vk_khr_driver_properties = SupportsExtension(VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, false); + m_optional_extensions.vk_khr_shader_non_semantic_info = + SupportsExtension(VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME, false); #ifdef _WIN32 m_optional_extensions.vk_ext_full_screen_exclusive = diff --git a/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.h b/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.h index d561010744..abbeef6cde 100644 --- a/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.h +++ b/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.h @@ -43,6 +43,7 @@ public: bool vk_ext_full_screen_exclusive : 1; bool vk_ext_line_rasterization : 1; bool vk_khr_driver_properties : 1; + bool vk_khr_shader_non_semantic_info : 1; }; // Global state accessors diff --git a/pcsx2/GS/Renderers/Vulkan/VKShaderCache.cpp b/pcsx2/GS/Renderers/Vulkan/VKShaderCache.cpp index ce88744ac1..905092ee68 100644 --- a/pcsx2/GS/Renderers/Vulkan/VKShaderCache.cpp +++ b/pcsx2/GS/Renderers/Vulkan/VKShaderCache.cpp @@ -111,8 +111,11 @@ std::optional VKShaderCache::CompileShaderToSPV( if (debug) { - options.SetOptimizationLevel(shaderc_optimization_level_zero); options.SetGenerateDebugInfo(); + if (GSDeviceVK::GetInstance()->GetOptionalExtensions().vk_khr_shader_non_semantic_info) + options.SetEmitNonSemanticDebugInfo(); + + options.SetOptimizationLevel(shaderc_optimization_level_zero); } else {