diff --git a/renderdoc/driver/shaders/dxil/dxil_debug.cpp b/renderdoc/driver/shaders/dxil/dxil_debug.cpp index 34e65a9a5..0bb6ed3a3 100644 --- a/renderdoc/driver/shaders/dxil/dxil_debug.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_debug.cpp @@ -6736,12 +6736,16 @@ const TypeData &Debugger::AddDebugType(const DXIL::Metadata *typeMD) const DIDerivedType *derivedType = base->As(); switch(derivedType->tag) { + case DW_TAG_restrict_type: case DW_TAG_const_type: + case DW_TAG_reference_type: case DW_TAG_pointer_type: case DW_TAG_typedef: typeData = AddDebugType(derivedType->base); break; default: RDCERR("Unhandled DIDerivedType DIDerivedType Tag type %s", ToStr(derivedType->tag).c_str()); + if(derivedType->base) + typeData = AddDebugType(derivedType->base); break; } break;