Files
renderdoc/renderdoc/renderdoc.natvis
T
baldurk 64406b47a3 Add an SDBasic type for ResourceId.
* This type is core enum and used globally (not API specific) that it
  merits becoming a specific structured data type
2018-02-15 10:21:52 +00:00

80 lines
3.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="rdcstr">
<DisplayString Condition="elems == 0">""</DisplayString>
<DisplayString>{elems,s}</DisplayString>
<StringView>elems,s</StringView>
<Expand>
<Item Name="[size]" ExcludeView="simple">usedCount</Item>
<Item Name="[capacity]" ExcludeView="simple">allocatedCount</Item>
<ArrayItems>
<Size>usedCount</Size>
<ValuePointer>elems</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="rdcarray&lt;*&gt;">
<DisplayString>{{ size={usedCount} }}</DisplayString>
<Expand>
<Item Name="[size]" ExcludeView="simple">usedCount</Item>
<Item Name="[capacity]" ExcludeView="simple">allocatedCount</Item>
<ArrayItems>
<Size>usedCount</Size>
<ValuePointer>elems</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="rdcpair&lt;*&gt;">
<DisplayString>{{ {first}, {second} }}</DisplayString>
<Expand>
<Item Name="first" ExcludeView="simple">first</Item>
<Item Name="second" ExcludeView="simple">second</Item>
<ArrayItems>
<Size>usedCount</Size>
<ValuePointer>elems</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="SDType">
<DisplayString>{name}</DisplayString>
<Expand>
<Item Name="name">name</Item>
<Item Name="basetype">basetype</Item>
<Item Name="byteSize">byteSize</Item>
<Item Name="flags">flags</Item>
</Expand>
</Type>
<Type Name="SDObject">
<DisplayString Condition="type.flags &amp; SDTypeFlags::HasCustomString">{name} = {data.str}</DisplayString>
<DisplayString Condition="type.basetype == SDBasic::String">{name} = {data.str}</DisplayString>
<DisplayString Condition="type.basetype == SDBasic::UnsignedInteger">{name} = {data.basic.u}</DisplayString>
<DisplayString Condition="type.basetype == SDBasic::SignedInteger">{name} = {data.basic.i}</DisplayString>
<DisplayString Condition="type.basetype == SDBasic::Float">{name} = {data.basic.d}</DisplayString>
<DisplayString Condition="type.basetype == SDBasic::Boolean">{name} = {data.basic.b}</DisplayString>
<DisplayString Condition="type.basetype == SDBasic::Character">{name} = {data.basic.c}</DisplayString>
<DisplayString Condition="type.basetype == SDBasic::ResourceId">{name} = {data.basic.id}</DisplayString>
<DisplayString Condition="type.basetype == SDBasic::Array">{name} = {type.name}[]</DisplayString>
<DisplayString>SDObject: {type.name} {name}</DisplayString>
<Expand>
<Item Condition="type.basetype == SDBasic::Array" Name="[size]" ExcludeView="simple">data.children.usedCount</Item>
<ArrayItems Condition="type.basetype == SDBasic::Array">
<Size>data.children.usedCount</Size>
<ValuePointer>data.children.elems</ValuePointer>
</ArrayItems>
<Item Condition="type.basetype != SDBasic::Array" Name="type">type</Item>
<Item Condition="type.basetype != SDBasic::Array" Name="name">name</Item>
<Item Condition="type.basetype != SDBasic::Array" Name="data">data</Item>
</Expand>
</Type>
<Type Name="SDChunk">
<DisplayString>SDChunk: {name} ({metadata.chunkID})</DisplayString>
<Expand>
<Item Name="metadata" ExcludeView="simple">metadata</Item>
<Item Name="[size]" ExcludeView="simple">data.children.usedCount</Item>
<ArrayItems>
<Size>data.children.usedCount</Size>
<ValuePointer>data.children.elems</ValuePointer>
</ArrayItems>
</Expand>
</Type>
</AutoVisualizer>