diff --git a/renderdoc/driver/vulkan/vk_shaderdebug.cpp b/renderdoc/driver/vulkan/vk_shaderdebug.cpp index 1274abc88..692422f8d 100644 --- a/renderdoc/driver/vulkan/vk_shaderdebug.cpp +++ b/renderdoc/driver/vulkan/vk_shaderdebug.cpp @@ -39,6 +39,7 @@ RDOC_CONFIG(rdcstr, Vulkan_Debug_PSDebugDumpDirPath, "", "Path to dump shader debugging generated SPIR-V files."); RDOC_CONFIG(bool, Vulkan_Debug_ShaderDebugLogging, false, "Output verbose debug logging messages when debugging shaders."); +RDOC_EXTERN_CONFIG(bool, Vulkan_Hack_EnableGroupCaps); // needed for old linux compilers namespace std @@ -5918,7 +5919,10 @@ ShaderDebugTrace *VulkanReplay::DebugComputeCommon(ShaderStage stage, uint32_t e if(shadRefl.patchData.threadScope & rdcspv::ThreadScope::Subgroup) numThreads = RDCMAX(numThreads, maxSubgroupSize); if(shadRefl.patchData.threadScope & rdcspv::ThreadScope::Workgroup) - numThreads = RDCMAX(numThreads, threadDim[0] * threadDim[1] * threadDim[2]); + { + if(Vulkan_Hack_EnableGroupCaps()) + numThreads = RDCMAX(numThreads, threadDim[0] * threadDim[1] * threadDim[2]); + } apiWrapper->thread_builtins.resize(numThreads); apiWrapper->thread_props.resize(numThreads);