<?xml version="1.0" encoding="utf-8" ?>
<AutoVisualizer
  xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">

  <!-- Build-agnostic cc/viz visualizers (valid in both component and
       non-component builds). See //tools/win/DebugVisualizers/BUILD.gn for how
       the cc natvis files are split. -->

  <!-- One entry per concrete subclass: `dx` downcasts a viz::DrawQuad* to its
       runtime type and ignores inheritable base entries, so a single
       viz::DrawQuad visualizer doesn't match in WinDbg/cdb. -->
  <Type Name="viz::RenderPassDrawQuadInternal">
    <DisplayString>{{ material={material} rect={rect} }}</DisplayString>
  </Type>
  <Type Name="viz::DebugBorderDrawQuad">
    <DisplayString>{{ material={material} rect={rect} }}</DisplayString>
  </Type>
  <Type Name="viz::PictureDrawQuad">
    <DisplayString>{{ material={material} rect={rect} }}</DisplayString>
  </Type>
  <Type Name="viz::CompositorRenderPassDrawQuad">
    <DisplayString>{{ material={material} rect={rect} }}</DisplayString>
  </Type>
  <Type Name="viz::AggregatedRenderPassDrawQuad">
    <DisplayString>{{ material={material} rect={rect} }}</DisplayString>
  </Type>
  <Type Name="viz::SolidColorDrawQuad">
    <DisplayString>{{ material={material} rect={rect} }}</DisplayString>
  </Type>
  <Type Name="viz::SharedElementDrawQuad">
    <DisplayString>{{ material={material} rect={rect} }}</DisplayString>
  </Type>
  <Type Name="viz::SurfaceDrawQuad">
    <DisplayString>{{ material={material} rect={rect} }}</DisplayString>
  </Type>
  <Type Name="viz::TextureDrawQuad">
    <DisplayString>{{ material={material} rect={rect} }}</DisplayString>
  </Type>
  <Type Name="viz::TileDrawQuad">
    <DisplayString>{{ material={material} rect={rect} }}</DisplayString>
  </Type>
  <Type Name="viz::VideoHoleDrawQuad">
    <DisplayString>{{ material={material} rect={rect} }}</DisplayString>
  </Type>
</AutoVisualizer>
