<?xml version="1.0" encoding="utf-8"?> 
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
  <Type Name="tracy::Vector&lt;*&gt;">
    <DisplayString>{{ size={m_size} }}</DisplayString>
    <Expand>
      <Item Name="[capacity]" ExcludeView="simple">m_capacity == 255 ? m_size : m_ptr == nullptr ? 0 : 1 &lt;&lt; m_capacity</Item>
      <ArrayItems>
        <Size>m_size</Size>
        <ValuePointer>m_ptr</ValuePointer>
      </ArrayItems>
    </Expand>
  </Type>
  <Type Name="tracy::VarArray&lt;*&gt;">
    <DisplayString>{{ size={m_size} hash={m_hash} }}</DisplayString>
    <Expand>
      <ArrayItems>
        <Size>m_size</Size>
        <ValuePointer>m_ptr</ValuePointer>
      </ArrayItems>
    </Expand>
  </Type>
  <Type Name="tracy::FastVector&lt;*&gt;">
    <DisplayString>{{ size={m_write - m_ptr} }}</DisplayString>
    <Expand>
      <Item Name="[capacity]" ExcludeView="simple">m_end - m_ptr</Item>
      <ArrayItems>
        <Size>m_write - m_ptr</Size>
        <ValuePointer>m_ptr</ValuePointer>
      </ArrayItems>
    </Expand>
  </Type>
  <Type Name="tracy::ContextSwitchData">
    <DisplayString>{{ start={int64_t( _start_cpu ) >> 8} end={int64_t( _end_reason_state ) >> 16} cpu={uint8_t( _start_cpu &amp; 0xFF )} reason={int8_t( (_end_reason_state >> 8) &amp; 0xFF )} state={int8_t( _end_reason_state &amp; 0xFF )} }}</DisplayString>
  </Type>
  <Type Name="tracy::ContextSwitchCpu">
    <DisplayString>{{ start={int64_t( _start_thread ) >> 16} end={_end} thread={uint16_t( _start_thread )} }}</DisplayString>
  </Type>
  <Type Name="tracy::ContextSwitchUsage">
    <DisplayString>{{ time={int64_t( _time_other_own ) >> 16} own={uint8_t( _time_other_own >> 8 )} other={uint8_t( _time_other_own )} }}</DisplayString>
  </Type>
</AutoVisualizer>
