Files
renderdoc/renderdoc/renderdoc.natvis
T
baldurk 6937756618 Add new structured data, that will be used to expose serialised values
* We have some special handling to allow SWIG wrapping of these types:
  SDFile owns the chunks and buffers within, and each object owns its
  children. Copying is disallowed except from SWIG where we assume the
  wrapper is handling lifetime management for its objects externally.
2017-11-03 16:19:45 +00:00

78 lines
3.3 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>
<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::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>