mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-05 01:20:42 +00:00
Fix a hang when debugging HLSL compute shaders with enum types
This commit is contained in:
committed by
Jake Turner
parent
67a6f20b6e
commit
80cce82823
@@ -8214,6 +8214,23 @@ const TypeData &Debugger::AddDebugType(const DXIL::Metadata *typeMD)
|
||||
typeData.baseType = compositeType->base;
|
||||
break;
|
||||
}
|
||||
case DW_TAG_enumeration_type:
|
||||
{
|
||||
typeData.type = VarType::Enum;
|
||||
typeData.sizeInBytes = (uint32_t)(compositeType->sizeInBits / 8);
|
||||
typeData.alignInBytes = (uint32_t)(compositeType->alignInBits / 8);
|
||||
if(compositeType->name)
|
||||
typeData.name = *compositeType->name;
|
||||
else
|
||||
typeData.name = StringFormat::Fmt("__anon_enum%u", compositeType->line);
|
||||
|
||||
if(compositeType->base)
|
||||
{
|
||||
AddDebugType(compositeType->base);
|
||||
typeData.baseType = compositeType->base;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
RDCERR("Unhandled DICompositeType tag %s", ToStr(compositeType->tag).c_str());
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user