| <?xml version="1.0" encoding="utf-8"?> |
| <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> |
| |
| |
| <Type Name="rive::simd::gvec<*,*,*>"> |
| <DisplayString>{"$T1",sb}{$T2} {($T1*)data,$T2na}</DisplayString> |
| <Expand> |
| <Item Name="x" Condition="$T2 >= 2 && $T2 <= 4 && $T3 == 0">data[0]</Item> |
| <Item Name="y" Condition="$T2 >= 2 && $T2 <= 4 && $T3 == 0">data[1]</Item> |
| <Item Name="z" Condition="$T2 >= 3 && $T2 <= 4 && $T3 == 0">data[2]</Item> |
| <Item Name="w" Condition="$T2 == 4 && $T3 == 0">data[0]</Item> |
| <ArrayItems Condition="$T2 < 2 || $T2 > 4 || $T3 != 0"> |
| <Size>$T2</Size> |
| <ValuePointer>data</ValuePointer> |
| </ArrayItems> |
| </Expand> |
| </Type> |
| |
| |
| <Type Name="rive::gpu::IntersectionTile"> |
| <DisplayString Condition="m_rectangleCount == 1"> |
| Tile at {m_topLeft.data[0]},{m_topLeft.data[1]}: {m_rectangleCount} rectangle |
| </DisplayString> |
| <DisplayString>Tile at {m_topLeft.data[0]},{m_topLeft.data[1]}: {m_rectangleCount} rectangles</DisplayString> |
| <Expand> |
| <Synthetic Name="Top Left"> |
| <DisplayString>{m_topLeft.data[0]},{m_topLeft.data[1]}</DisplayString> |
| </Synthetic> |
| <Item Name="Max Group Index">m_maxGroupIndex</Item> |
| <Item Name="Max Overlappability">m_overlapBitsForMaxGroup,x</Item> |
| <Item Name="Baseline Group Index">m_baselineGroupIndex</Item> |
| <Item Name="Baseline Overlappability">m_baselineOverlapBits,x</Item> |
| |
| <!-- |
| Wanted to make this expand into nice items where the elements |
| were all independently expandable, but natvis does not allow |
| putting <Synthetic>s inside of a CustomListItems. So, instead, |
| all of the info gets to be jammed into the Item name. |
| --> |
| <Synthetic Name="Rectangles"> |
| <DisplayString>Count: {m_rectangleCount}</DisplayString> |
| <Expand> |
| <CustomListItems Condition="m_rectangleCount != 0"> |
| <Variable Name="i" InitialValue="0" /> |
| <Variable Name="edgePtr" InitialValue="&m_edges[0].data[0]" /> |
| <Variable Name="giPtr" InitialValue="&m_groupIndices[0].data[0]" /> |
| <Variable Name="ovPtr" InitialValue="&m_overlapBits[0].data[0]" /> |
| <Size>m_rectangleCount</Size> |
| <Loop> |
| <Item Name="[{(int)*edgePtr}, {(int)*(edgePtr + 8)}, {(int)*(edgePtr + 16)}, {(int)*(edgePtr + 24)}], Group Idx: {*giPtr}"> |
| *ovPtr,x |
| </Item> |
| <Exec>i++</Exec> |
| <Exec>edgePtr = &m_edges[i / 8].data[i % 8]</Exec> |
| <Exec>++giPtr</Exec> |
| <Exec>++ovPtr</Exec> |
| </Loop> |
| </CustomListItems> |
| </Expand> |
| </Synthetic> |
| </Expand> |
| </Type> |
| |
| |
| </AutoVisualizer> |