From d729deec1c0b22a059d1b5ac9800e8a437965e20 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Sat, 24 Jan 2026 07:20:52 +1300 Subject: [PATCH] Fix DXIL debugger hang if an unhandled DICompositeType is used There was an infinite loop if the unhandled debug data is mapped to a struct member --- renderdoc/driver/shaders/dxil/dxil_debug.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renderdoc/driver/shaders/dxil/dxil_debug.cpp b/renderdoc/driver/shaders/dxil/dxil_debug.cpp index afe3a6334..e225b3e38 100644 --- a/renderdoc/driver/shaders/dxil/dxil_debug.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_debug.cpp @@ -8108,12 +8108,12 @@ const TypeData &Debugger::AddDebugType(const DXIL::Metadata *typeMD) case DXIL::DIBase::Type::CompositeType: { const DICompositeType *compositeType = base->As(); - typeData.baseType = typeMD; switch(compositeType->tag) { case DW_TAG_class_type: case DW_TAG_structure_type: { + typeData.baseType = typeMD; typeData.sizeInBytes = (uint32_t)(compositeType->sizeInBits / 8); typeData.alignInBytes = (uint32_t)(compositeType->alignInBits / 8);