yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Theresa FoleyAdd support for on-demand AST deserialization (#7482)3ed776159

master
4.7 KiB159 linesraw
1<?xml version="1.0" encoding="utf-8"?>
2
3<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
4
5<Type Name="Slang::String">
6    <DisplayString>{((char*) (m_buffer.pointer+1)),s}</DisplayString>
7	<StringView>((char*) (m_buffer.pointer+1)),s</StringView>
8</Type>
9
10<Type Name="Slang::ArrayView&lt;*&gt;">
11  <DisplayString>{{ size={m_count} }}</DisplayString>
12  <Expand>
13    <Item Name="[size]">m_count</Item>
14    <ArrayItems>
15      <Size>m_count</Size>
16      <ValuePointer>m_buffer</ValuePointer>
17    </ArrayItems>
18  </Expand>
19</Type>
20
21<Type Name="Slang::List&lt;*,*&gt;">
22    <DisplayString>{{ size={m_count} }}</DisplayString>
23    <Expand>
24        <Item Name="[size]">m_count</Item>
25        <Item Name="[capacity]">m_capacity</Item>
26        <ArrayItems>
27            <Size>m_count</Size>
28            <ValuePointer>m_buffer</ValuePointer>
29        </ArrayItems>
30    </Expand>
31</Type>
32
33<Type Name="Slang::ShortList&lt;*,*,*&gt;">
34    <DisplayString>{{ size={m_count} }}</DisplayString>
35    <Expand>
36        <Item Name="[size]">m_count</Item>
37        <Item Name="[capacity]">m_capacity</Item>
38        <IndexListItems>
39            <Size>m_count</Size>
40            <ValueNode Condition="$i&lt;$T2">m_shortBuffer + $i</ValueNode>
41            <ValueNode Condition="$i&gt;=$T2">m_buffer + $i - $T2</ValueNode>
42        </IndexListItems>
43    </Expand>
44</Type>
45
46<Type Name="Slang::Array&lt;*,*&gt;">
47  <DisplayString>{{ size={m_count} }}</DisplayString>
48  <Expand>
49    <Item Name="[size]">m_count</Item>
50    <ArrayItems>
51      <Size>m_count</Size>
52      <ValuePointer>m_buffer</ValuePointer>
53    </ArrayItems>
54  </Expand>
55</Type>
56  
57<Type Name="Slang::Dictionary&lt;*,*&gt;">
58    <DisplayString>{{ {map.m_values} }}</DisplayString>
59    <Expand>
60        <Item Name="[items]">map.m_values</Item>
61        <Item Name="map">map</Item>
62    </Expand>
63</Type>
64
65<Type Name="Slang::HashSet&lt;*&gt;">
66    <DisplayString>{{ {dict} }}</DisplayString>
67    <Expand>
68        <Item Name="dict">dict</Item>
69    </Expand>
70</Type>
71    
72<Type Name="Slang::OrderedHashSet&lt;*&gt;">
73    <DisplayString>{{ size={dict._count} }}</DisplayString>
74    <Expand>
75        <LinkedListItems>
76            <Size>m_dict._count</Size>
77            <HeadPointer>m_dict.kvPairs.head</HeadPointer>
78            <NextPointer>next</NextPointer>
79            <ValueNode>value</ValueNode>
80        </LinkedListItems>
81    </Expand>
82</Type>
83
84<Type Name="Slang::OrderedDictionary&lt;*,*&gt;">
85    <DisplayString>{{ size={m_count} }}</DisplayString>
86    <Expand>
87        <LinkedListItems>
88            <Size>m_count</Size>
89            <HeadPointer>m_kvPairs.head</HeadPointer>
90            <NextPointer>next</NextPointer>
91            <ValueNode>value</ValueNode>
92        </LinkedListItems>
93    </Expand>
94</Type>
95
96<Type Name="Slang::RefPtr&lt;*&gt;">
97    <SmartPointer Usage="Minimal">pointer</SmartPointer>
98    <DisplayString Condition="pointer == 0">empty</DisplayString>
99    <DisplayString Condition="pointer != 0">RefPtr {*pointer}</DisplayString>
100    <Expand>
101      <ExpandedItem>pointer</ExpandedItem>
102    </Expand>
103</Type>
104
105<Type Name="Slang::RelativePtr&lt;*,*&gt;">
106	<SmartPointer Usage="Minimal">_offset == 0 ? nullptr : ($T1*)((char*)this + _offset)</SmartPointer>
107	<DisplayString Condition="_offset == 0">{($T1*)0}</DisplayString>
108	<DisplayString Condition="_offset != 0">{($T1*)((char*)this + _offset)}</DisplayString>
109	<Expand>
110		<ExpandedItem>_offset == 0 ? nullptr : ($T1*)((char*)this + _offset)</ExpandedItem>
111	</Expand>
112</Type>
113
114<Type Name="Slang::Safe32Ptr&lt;*&gt;">
115    <Expand>
116        <ExpandedItem>($T1*)(m_base->m_data + m_offset)</ExpandedItem>
117    </Expand>
118</Type>
119
120<Type Name="Slang::Relative32Ptr&lt;*&gt;">
121    <Expand>
122        <ExpandedItem>(m_offset == 0x80000000) ? nullptr : ($T1*)(((char*)this) + m_offset)</ExpandedItem>
123    </Expand>
124</Type>
125
126
127<Type Name="Slang::Safe32Array&lt;*&gt;">
128    <Expand>
129        <Item Name="[count]">m_count</Item>
130        <ArrayItems>
131            <Size>m_count</Size>
132            <ValuePointer>($T1*)(m_data.m_base->m_data + m_data.m_offset)</ValuePointer>
133        </ArrayItems>
134    </Expand>
135</Type>
136
137
138<Type Name="Slang::Relative32Array&lt;*&gt;">
139    <Expand>
140        <Item Name="[count]">m_count</Item>
141        <ArrayItems>
142            <Size>m_count</Size>
143            <ValuePointer>(m_data.m_offset == 0x80000000) ? nullptr : ($T1*)(((char*)&amp;m_data) + m_data.m_offset)</ValuePointer>
144        </ArrayItems>
145    </Expand>
146</Type>
147
148<Type Name="Slang::RelativeString">
149    <DisplayString>{(m_sizeThenContents + 1),s}</DisplayString>
150    <StringView>(m_sizeThenContents + 1),s</StringView>
151</Type>
152
153<Type Name="Slang::UnownedStringSlice">
154    <DisplayString>{m_begin,[m_end-m_begin]s}</DisplayString>
155    <StringView>m_begin,[m_end-m_begin]s</StringView>
156
157</Type>
158
159</AutoVisualizer>