3 <enum name=
"Attribute Type">
4 <value name=
"1D" value=
"1"/>
5 <value name=
"1D POT Divisor" value=
"2"/>
6 <value name=
"1D Modulus" value=
"3"/>
7 <value name=
"1D NPOT Divisor" value=
"4"/>
8 <value name=
"Continuation" value=
"32"/>
11 <enum name=
"Attribute Special">
12 <value name=
"Vertex ID" value=
"34"/>
13 <value name=
"Instance ID" value=
"36"/>
14 <value name=
"Frag Coord" value=
"37"/>
15 <value name=
"Front Facing" value=
"38"/>
16 <value name=
"Point Coord" value=
"97"/>
20 <value name=
"R" value=
"0"/>
21 <value name=
"G" value=
"1"/>
22 <value name=
"B" value=
"2"/>
23 <value name=
"A" value=
"3"/>
24 <value name=
"0" value=
"4"/>
25 <value name=
"1" value=
"5"/>
28 <enum name=
"Depth Source">
29 <value name=
"None" value=
"0"/>
30 <value name=
"Fixed function" value=
"2"/>
31 <value name=
"Shader" value=
"3"/>
34 <enum name=
"Job Type">
35 <value name=
"Not started" value=
"0"/>
36 <value name=
"Null" value=
"1"/>
37 <value name=
"Write value" value=
"2"/>
38 <value name=
"Cache flush" value=
"3"/>
39 <value name=
"Compute" value=
"4"/>
40 <value name=
"Vertex" value=
"5"/>
41 <value name=
"Geometry" value=
"6"/>
42 <value name=
"Tiler" value=
"7"/>
43 <value name=
"Fused" value=
"8"/>
44 <value name=
"Fragment" value=
"9"/>
47 <enum name=
"Draw Mode">
48 <value name=
"None" value=
"0"/>
49 <value name=
"Points" value=
"1"/>
50 <value name=
"Lines" value=
"2"/>
51 <value name=
"Line strip" value=
"4"/>
52 <value name=
"Line loop" value=
"6"/>
53 <value name=
"Triangles" value=
"8"/>
54 <value name=
"Triangle strip" value=
"10"/>
55 <value name=
"Triangle fan" value=
"12"/>
56 <value name=
"Polygon" value=
"13"/>
57 <value name=
"Quads" value=
"14"/>
58 <value name=
"Quad strip" value=
"15"/>
61 <enum name=
"Exception Access">
62 <value name=
"None" value=
"0"/>
63 <value name=
"Execute" value=
"2"/>
64 <value name=
"Read" value=
"1"/>
65 <value name=
"Write" value=
"3"/>
69 <value name=
"Never" value=
"0"/>
70 <value name=
"Less" value=
"1"/>
71 <value name=
"Equal" value=
"2"/>
72 <value name=
"Lequal" value=
"3"/>
73 <value name=
"Greater" value=
"4"/>
74 <value name=
"Not Equal" value=
"5"/>
75 <value name=
"Gequal" value=
"6"/>
76 <value name=
"Always" value=
"7"/>
80 <value name=
"ETC2 RGB8" value=
"1"/>
81 <value name=
"ETC2 R11 UNORM" value=
"2"/>
82 <value name=
"ETC2 RGBA8" value=
"3"/>
83 <value name=
"ETC2 RG11 UNORM" value=
"4"/>
84 <value name=
"BC1 UNORM" value=
"7"/>
85 <value name=
"BC2 UNORM" value=
"8"/>
86 <value name=
"BC3 UNORM" value=
"9"/>
87 <value name=
"BC4 UNORM" value=
"10"/>
88 <value name=
"BC4 SNORM" value=
"11"/>
89 <value name=
"BC5 UNORM" value=
"12"/>
90 <value name=
"BC5 SNORM" value=
"13"/>
91 <value name=
"BC6H UF16" value=
"14"/>
92 <value name=
"BC6H SF16" value=
"15"/>
93 <value name=
"BC7 UNORM" value=
"16"/>
94 <value name=
"ETC2 R11 SNORM" value=
"17"/>
95 <value name=
"ETC2 RG11 SNORM" value=
"18"/>
96 <value name=
"ETC2 RGB8A1" value=
"19"/>
97 <value name=
"ASTC 3D LDR" value=
"20"/>
98 <value name=
"ASTC 3D HDR" value=
"21"/>
99 <value name=
"ASTC 2D LDR" value=
"22"/>
100 <value name=
"ASTC 2D HDR" value=
"23"/>
101 <value name=
"RGB565" value=
"64"/>
102 <value name=
"RGB5 X1 UNORM" value=
"65"/>
103 <value name=
"RGB5 A1 UNORM" value=
"66"/>
104 <value name=
"RGB10 A2 UNORM" value=
"67"/>
105 <value name=
"RGB10 A2 SNORM" value=
"69"/>
106 <value name=
"RGB10 A2UI" value=
"71"/>
107 <value name=
"RGB10 A2I" value=
"73"/>
108 <value name=
"RGB332 UNORM" value=
"75"/>
109 <value name=
"RGB233 UNORM" value=
"76"/>
110 <value name=
"Z24X8 UNORM" value=
"77"/>
111 <value name=
"R32 FIXED" value=
"81"/>
112 <value name=
"RG32 FIXED" value=
"82"/>
113 <value name=
"RGB32 FIXED" value=
"83"/>
114 <value name=
"RGBA32 FIXED" value=
"84"/>
115 <value name=
"R11F G11F B10F" value=
"89"/>
116 <value name=
"R9F G9F B9F E5F" value=
"91"/>
117 <value name=
"VARYING POS" value=
"94"/>
118 <value name=
"VARYING DISCARD" value=
"95"/>
119 <value name=
"R8 SNORM" value=
"99"/>
120 <value name=
"R16 SNORM" value=
"100"/>
121 <value name=
"R32 SNORM" value=
"101"/>
122 <value name=
"RG8 SNORM" value=
"107"/>
123 <value name=
"RG16 SNORM" value=
"108"/>
124 <value name=
"RG32 SNORM" value=
"109"/>
125 <value name=
"RGB8 SNORM" value=
"115"/>
126 <value name=
"RGB16 SNORM" value=
"116"/>
127 <value name=
"RGB32 SNORM" value=
"117"/>
128 <value name=
"RGBA8 SNORM" value=
"123"/>
129 <value name=
"RGBA16 SNORM" value=
"124"/>
130 <value name=
"RGBA32 SNORM" value=
"125"/>
131 <value name=
"R8UI" value=
"131"/>
132 <value name=
"R16UI" value=
"132"/>
133 <value name=
"R32UI" value=
"133"/>
134 <value name=
"RG8UI" value=
"139"/>
135 <value name=
"RG16UI" value=
"140"/>
136 <value name=
"RG32UI" value=
"141"/>
137 <value name=
"RGB8UI" value=
"147"/>
138 <value name=
"RGB16UI" value=
"148"/>
139 <value name=
"RGB32UI" value=
"149"/>
140 <value name=
"RGBA8UI" value=
"155"/>
141 <value name=
"RGBA16UI" value=
"156"/>
142 <value name=
"RGBA32UI" value=
"157"/>
143 <value name=
"R8 UNORM" value=
"163"/>
144 <value name=
"R16 UNORM" value=
"164"/>
145 <value name=
"R32 UNORM" value=
"165"/>
146 <value name=
"R32F" value=
"167"/>
147 <value name=
"RG8 UNORM" value=
"171"/>
148 <value name=
"RG16 UNORM" value=
"172"/>
149 <value name=
"RG32 UNORM" value=
"173"/>
150 <value name=
"RG32F" value=
"175"/>
151 <value name=
"RGB8 UNORM" value=
"179"/>
152 <value name=
"RGB16 UNORM" value=
"180"/>
153 <value name=
"RGB32 UNORM" value=
"181"/>
154 <value name=
"RGB32F" value=
"183"/>
155 <value name=
"RGBA4 UNORM" value=
"186"/>
156 <value name=
"RGBA8 UNORM" value=
"187"/>
157 <value name=
"RGBA16 UNORM" value=
"188"/>
158 <value name=
"RGBA32 UNORM" value=
"189"/>
159 <value name=
"RGBA32F" value=
"191"/>
160 <value name=
"R8I" value=
"195"/>
161 <value name=
"R16I" value=
"196"/>
162 <value name=
"R32I" value=
"197"/>
163 <value name=
"R16F" value=
"199"/>
164 <value name=
"RG8I" value=
"203"/>
165 <value name=
"RG16I" value=
"204"/>
166 <value name=
"RG32I" value=
"205"/>
167 <value name=
"RG16F" value=
"207"/>
168 <value name=
"RGB8I" value=
"211"/>
169 <value name=
"RGB16I" value=
"212"/>
170 <value name=
"RGB32I" value=
"213"/>
171 <value name=
"RGB16F" value=
"215"/>
172 <value name=
"RGBA8I" value=
"219"/>
173 <value name=
"RGBA16I" value=
"220"/>
174 <value name=
"RGBA32I" value=
"221"/>
175 <value name=
"RGBA16F" value=
"223"/>
176 <value name=
"RGBA4" value=
"232"/>
177 <value name=
"RGBA8 2" value=
"237"/>
178 <value name=
"RGB10 A2 2" value=
"238"/>
181 <enum name=
"Block Format">
182 <!--- 16x16 block u-interleaved -->
183 <value name=
"Tiled" value=
"0"/>
184 <value name=
"Linear" value=
"2"/>
185 <value name=
"AFBC" value=
"3"/>
188 <enum name=
"Mipmap Mode">
189 <value name=
"Nearest" value=
"0"/>
190 <value name=
"None" value=
"1"/>
191 <value name=
"Trilinear" value=
"3"/>
195 <value name=
"Single" value=
"0"/>
196 <!-- N samples, 1 surface, resolved -->
197 <value name=
"Average" value=
"1"/>
198 <!-- N samples, 1 surface, unresolved -->
199 <value name=
"Multiple" value=
"2"/>
200 <!-- N samples, N surfaces -->
201 <value name=
"Layered" value=
"3"/>
204 <enum name=
"Index Type">
205 <value name=
"None" value=
"0"/>
206 <value name=
"UINT8" value=
"1"/>
207 <value name=
"UINT16" value=
"2"/>
208 <value name=
"UINT32" value=
"3"/>
211 <enum name=
"Occlusion Mode">
212 <value name=
"Disabled" value=
"0"/>
213 <value name=
"Predicate" value=
"1"/>
214 <value name=
"Counter" value=
"3"/>
217 <enum name=
"Stencil Op">
218 <value name=
"Keep" value=
"0"/>
219 <value name=
"Replace" value=
"1"/>
220 <value name=
"Zero" value=
"2"/>
221 <value name=
"Invert" value=
"3"/>
222 <value name=
"Incr Wrap" value=
"4"/>
223 <value name=
"Decr Wrap" value=
"5"/>
224 <value name=
"Incr Sat" value=
"6"/>
225 <value name=
"Decr Sat" value=
"7"/>
228 <enum name=
"Texture Dimension">
229 <value name=
"Cube" value=
"0"/>
230 <value name=
"1D" value=
"1"/>
231 <value name=
"2D" value=
"2"/>
232 <value name=
"3D" value=
"3"/>
235 <enum name=
"Texture Layout">
236 <!--- 16x16 block u-interleaved -->
237 <value name=
"Tiled" value=
"1"/>
238 <value name=
"Linear" value=
"2"/>
239 <value name=
"AFBC" value=
"12"/>
242 <enum name=
"Wrap Mode">
243 <value name=
"Repeat" value=
"8"/>
244 <value name=
"Clamp to Edge" value=
"9"/>
245 <value name=
"Clamp" value=
"10"/>
246 <value name=
"Clamp to Border" value=
"11"/>
247 <value name=
"Mirrored Repeat" value=
"12"/>
248 <value name=
"Mirrored Clamp to Edge" value=
"13"/>
249 <value name=
"Mirrored Clamp" value=
"14"/>
250 <value name=
"Mirrored Clamp to Border" value=
"15"/>
253 <struct name=
"Attribute">
254 <field name=
"Buffer index" size=
"9" start=
"0" type=
"uint"/>
255 <field name=
"Unknown" size=
"1" start=
"9" type=
"bool" default=
"true"/>
256 <field name=
"Format" size=
"22" start=
"10" type=
"uint"/>
257 <field name=
"Offset" size=
"32" start=
"32" type=
"int"/>
260 <struct name=
"Attribute Buffer">
261 <field name=
"Special" size=
"8" start=
"0" type=
"Attribute Special"/>
262 <field name=
"Type" size=
"6" start=
"0" type=
"Attribute Type" default=
"1D"/>
263 <field name=
"Pointer" size=
"50" start=
"6" type=
"address" modifier=
"shr(6)"/>
264 <field name=
"Stride" size=
"32" start=
"64" type=
"uint"/>
265 <field name=
"Size" size=
"32" start=
"96" type=
"uint"/>
267 <field name=
"Divisor" size=
"8" start=
"56" type=
"padded" default=
"1"/>
268 <field name=
"Divisor R" size=
"5" start=
"56" type=
"uint"/>
269 <field name=
"Divisor P" size=
"3" start=
"61" type=
"uint"/>
270 <field name=
"Divisor E" size=
"1" start=
"61" type=
"uint"/>
273 <struct name=
"Attribute Buffer Continuation NPOT">
274 <field name=
"Type" size=
"6" start=
"0:0" type=
"Attribute Type" default=
"Continuation"/>
275 <field name=
"Divisor Numerator" size=
"32" start=
"1:0" type=
"uint"/>
276 <field name=
"Divisor" size=
"32" start=
"3:0" type=
"uint"/>
279 <struct name=
"Blend Equation" size=
"1">
280 <field name=
"RGB Mode" size=
"12" start=
"0" type=
"uint"/>
281 <field name=
"Alpha Mode" size=
"12" start=
"12" type=
"uint"/>
282 <field name=
"Color mask" size=
"4" start=
"28" type=
"uint" default=
"15"/>
285 <struct name=
"Blend Flags" size=
"1">
286 <field name=
"Load destination" size=
"1" start=
"0" type=
"bool" default=
"false"/>
287 <field name=
"Midgard blend shader" size=
"1" start=
"1" type=
"bool" default=
"false"/>
288 <field name=
"Enable" size=
"1" start=
"9" type=
"bool" default=
"true"/>
289 <field name=
"sRGB" size=
"1" start=
"10" type=
"bool" default=
"false"/>
290 <field name=
"Dither disable" size=
"1" start=
"11" type=
"bool" default=
"false"/>
293 <struct name=
"Midgard Blend" size=
"4" with_opaque=
"true">
294 <field name=
"Flags" size=
"32" start=
"0:0" type=
"Blend Flags"/>
295 <field name=
"Equation" size=
"32" start=
"2:0" type=
"uint"/> <!-- XXX -->
296 <field name=
"Constant" size=
"32" start=
"3:0" type=
"float"/>
297 <field name=
"Shader" size=
"64" start=
"2:0" type=
"address"/>
300 <struct name=
"Primitive">
301 <field name=
"Draw mode" size=
"4" start=
"0:0" type=
"Draw Mode" default=
"None"/>
302 <field name=
"Index type" size=
"2" start=
"0:8" type=
"Index Type" default=
"None"/>
303 <field name=
"Point size array" size=
"1" start=
"0:12" type=
"bool"/>
305 <field name=
"First provoking vertex" size=
"1" start=
"0:15" type=
"bool" default=
"true"/>
306 <field name=
"Unknown 1" size=
"1" start=
"0:16" type=
"bool" default=
"true"/>
307 <field name=
"Unknown 2" size=
"1" start=
"0:17" type=
"bool" default=
"true"/>
309 <field name=
"Primitive restart" size=
"1" start=
"0:20" type=
"bool"/>
310 <field name=
"Unknown 3" size=
"6" start=
"0:26" type=
"uint"/>
311 <field name=
"Base vertex offset" size=
"32" start=
"1:0" type=
"uint"/>
312 <!--- TODO: word 2 -->
313 <field name=
"Index count" size=
"32" start=
"3:0" type=
"uint" modifier=
"minus(1)"/>
314 <field name=
"Indices" size=
"64" start=
"4:0" type=
"address"/>
317 <struct name=
"Draw" size=
"30">
318 <field name=
"Unknown 1" size=
"3" start=
"0:0" type=
"uint"/>
319 <field name=
"Occlusion query" size=
"2" start=
"0:3" type=
"Occlusion Mode" default=
"Disabled"/>
320 <field name=
"Front face CCW" size=
"1" start=
"0:5" type=
"bool"/>
321 <field name=
"Cull front face" size=
"1" start=
"0:6" type=
"bool"/>
322 <field name=
"Cull back face" size=
"1" start=
"0:7" type=
"bool"/>
323 <!-- TODO 0:7-0:15 -->
324 <field name=
"Instances" size=
"8" start=
"0:16" type=
"padded" default=
"1"/>
325 <!-- TODO: 0:16-0:24 -->
326 <field name=
"Offset start" size=
"32" start=
"1:0" type=
"uint"/>
328 <field name=
"Position" size=
"64" start=
"4:0" type=
"address"/>
329 <field name=
"Uniform buffers" size=
"64" start=
"6:0" type=
"address"/>
330 <field name=
"Textures" size=
"64" start=
"8:0" type=
"address"/>
331 <field name=
"Samplers" size=
"64" start=
"10:0" type=
"address"/>
332 <field name=
"Push uniforms" size=
"64" start=
"12:0" type=
"address"/>
333 <field name=
"State" size=
"64" start=
"14:0" type=
"address"/>
334 <field name=
"Attribute buffers" size=
"64" start=
"16:0" type=
"address"/>
335 <field name=
"Attributes" size=
"64" start=
"18:0" type=
"address"/>
336 <field name=
"Varying buffers" size=
"64" start=
"20:0" type=
"address"/>
337 <field name=
"Varyings" size=
"64" start=
"22:0" type=
"address"/>
338 <field name=
"Viewport" size=
"64" start=
"24:0" type=
"address"/>
339 <field name=
"Occlusion" size=
"64" start=
"26:0" type=
"address"/>
340 <field name=
"Shared" size=
"64" start=
"28:0" type=
"address"/>
343 <struct name=
"Midgard Sampler">
344 <field name=
"Magnify Nearest" size=
"1" start=
"0" type=
"bool" default=
"true"/>
345 <field name=
"Minify Nearest" size=
"1" start=
"1" type=
"bool" default=
"true"/>
346 <field name=
"Mipmap Mode" size=
"2" start=
"3" type=
"Mipmap Mode" default=
"Nearest"/>
347 <field name=
"Normalized Coordinates" size=
"1" start=
"5" type=
"bool" default=
"true"/>
348 <field name=
"LOD Bias" size=
"16" start=
"0:16" type=
"int" default=
"0"/>
349 <field name=
"Minimum LOD" size=
"16" start=
"1:0" type=
"uint" default=
"0"/>
350 <field name=
"Maximum LOD" size=
"16" start=
"1:16" type=
"uint" default=
"1"/>
351 <field name=
"Wrap Mode S" size=
"4" start=
"2:0" type=
"Wrap Mode" default=
"Clamp to Edge"/>
352 <field name=
"Wrap Mode T" size=
"4" start=
"2:4" type=
"Wrap Mode" default=
"Clamp to Edge"/>
353 <field name=
"Wrap Mode R" size=
"4" start=
"2:8" type=
"Wrap Mode" default=
"Clamp to Edge"/>
354 <field name=
"Compare Function" size=
"3" start=
"2:12" type=
"Func" default=
"Never"/>
355 <field name=
"Seamless Cube Map" size=
"1" start=
"2:15" type=
"bool" default=
"true"/>
356 <field name=
"Border Color R" size=
"32" start=
"4:0" type=
"float" default=
"0.0"/>
357 <field name=
"Border Color G" size=
"32" start=
"5:0" type=
"float" default=
"0.0"/>
358 <field name=
"Border Color B" size=
"32" start=
"6:0" type=
"float" default=
"0.0"/>
359 <field name=
"Border Color A" size=
"32" start=
"7:0" type=
"float" default=
"0.0"/>
362 <struct name=
"Midgard Texture" size=
"8">
363 <field name=
"Width" size=
"16" start=
"0:0" type=
"uint" modifier=
"minus(1)"/>
364 <field name=
"Height" size=
"16" start=
"0:16" type=
"uint" modifier=
"minus(1)"/>
365 <field name=
"Depth" size=
"16" start=
"1:0" type=
"uint" modifier=
"minus(1)"/>
366 <field name=
"Array size" size=
"16" start=
"1:16" type=
"uint" modifier=
"minus(1)"/>
367 <field name=
"Format" size=
"22" start=
"2:0" type=
"uint"/>
368 <field name=
"Dimension" size=
"2" start=
"2:22" type=
"Texture Dimension"/>
369 <field name=
"Texel ordering" size=
"4" start=
"2:24" type=
"Texture Layout"/>
370 <field name=
"Unknown" size=
"1" start=
"2:28" type=
"bool" default=
"true"/>
371 <field name=
"Manual stride" size=
"1" start=
"2:29" type=
"bool" default=
"false"/>
372 <field name=
"Levels" size=
"8" start=
"3:24" type=
"uint"/>
373 <field name=
"Swizzle" size=
"12" start=
"4:0" type=
"uint"/>
376 <struct name=
"Bifrost Sampler" size=
"8">
377 <field name=
"Type" size=
"4" start=
"0:0" type=
"uint" default=
"1"/>
378 <field name=
"Wrap Mode R" size=
"4" start=
"0:8" type=
"Wrap Mode" default=
"Clamp to Edge"/>
379 <field name=
"Wrap Mode T" size=
"4" start=
"0:12" type=
"Wrap Mode" default=
"Clamp to Edge"/>
380 <field name=
"Wrap Mode S" size=
"4" start=
"0:16" type=
"Wrap Mode" default=
"Clamp to Edge"/>
381 <field name=
"Seamless Cube Map" size=
"1" start=
"0:23" type=
"bool" default=
"true"/>
382 <field name=
"Normalized Coordinates" size=
"1" start=
"0:25" type=
"bool" default=
"true"/>
383 <field name=
"Minify Linear" size=
"1" start=
"0:27" type=
"bool" default=
"false"/>
384 <field name=
"Magnify Linear" size=
"1" start=
"0:28" type=
"bool" default=
"false"/>
385 <field name=
"Mipmap Mode" size=
"2" start=
"0:30" type=
"Mipmap Mode" default=
"Nearest"/>
386 <field name=
"Minimum LOD" size=
"13" start=
"1:0" type=
"uint" default=
"0"/>
387 <field name=
"Compare Function" size=
"3" start=
"1:13" type=
"Func" default=
"Never"/>
388 <field name=
"Maximum LOD" size=
"13" start=
"1:16" type=
"uint" default=
"0"/>
389 <field name=
"LOD bias" size=
"16" start=
"2:0" type=
"uint" default=
"0"/>
392 <struct name=
"Bifrost Texture" size=
"8">
393 <field name=
"Type" size=
"4" start=
"0:0" type=
"uint" default=
"2"/>
394 <field name=
"Dimension" size=
"2" start=
"0:4" type=
"Texture Dimension"/>
395 <field name=
"Format" size=
"22" start=
"0:10" type=
"uint"/>
396 <field name=
"Width" size=
"16" start=
"1:0" type=
"uint" modifier=
"minus(1)"/>
397 <field name=
"Height" size=
"16" start=
"1:16" type=
"uint" modifier=
"minus(1)"/>
398 <field name=
"Swizzle" size=
"12" start=
"2:0" type=
"uint"/>
399 <field name=
"Texel ordering" size=
"4" start=
"2:12" type=
"Texture Layout"/>
400 <field name=
"Levels" size=
"5" start=
"2:16" type=
"uint"/>
401 <field name=
"Minimum LOD" size=
"13" start=
"3:0" type=
"uint" default=
"0"/>
402 <field name=
"Maximum LOD" size=
"13" start=
"3:16" type=
"uint" default=
"0"/>
403 <field name=
"Surfaces" size=
"64" start=
"4:0" type=
"address"/>
406 <struct name=
"Midgard Properties" size=
"1">
407 <field name=
"Uniform buffer count" size=
"8" start=
"0" type=
"uint"/>
408 <field name=
"Depth source" size=
"2" start=
"8" type=
"Depth Source" default=
"None"/>
409 <field name=
"Early-z enable" size=
"1" start=
"10" type=
"bool" default=
"false"/>
410 <field name=
"Helper invocation enable" size=
"1" start=
"11" type=
"bool" default=
"false"/>
411 <field name=
"Reads depth/stencil" size=
"1" start=
"12" type=
"bool" default=
"false"/>
412 <field name=
"Writes globals" size=
"1" start=
"13" type=
"bool" default=
"false"/>
413 <field name=
"Reads tilebuffer" size=
"1" start=
"14" type=
"bool" default=
"false"/>
414 <field name=
"Work register count" size=
"5" start=
"16" type=
"uint"/>
415 <field name=
"Uniform count" size=
"5" start=
"21" type=
"uint"/>
416 <field name=
"Stencil from shader" size=
"1" start=
"28" type=
"bool"/>
417 <field name=
"Suppress Inf/NaN" size=
"1" start=
"29" type=
"bool"/>
420 <struct name=
"Bifrost Properties" size=
"1">
421 <field name=
"Uniform buffer count" size=
"8" start=
"0" type=
"uint"/>
422 <!--- If set, disables registers [R16, R47] for full thread count -->
423 <field name=
"Full thread" size=
"1" start=
"13" type=
"bool" default=
"false"/>
424 <field name=
"Early-z enable" size=
"1" start=
"19" type=
"bool" default=
"false"/>
425 <field name=
"First ATEST" size=
"1" start=
"30" type=
"bool" default=
"false"/>
426 <!-- XXX: This is awful -->
427 <field name=
"Unknown" size=
"32" start=
"0" type=
"uint"/>
430 <struct name=
"Preload" size=
"1">
431 <field name=
"Untyped" size=
"15" start=
"0" type=
"uint"/>
432 <field name=
"Uniform count" size=
"7" start=
"15" type=
"uint"/>
435 <struct name=
"Preload Compute" size=
"1">
436 <field name=
"Local Invocation XY" size=
"1" start=
"7" type=
"bool"/>
437 <field name=
"Local Invocation Z" size=
"1" start=
"8" type=
"bool"/>
438 <field name=
"Work group X" size=
"1" start=
"9" type=
"bool"/>
439 <field name=
"Work group Y" size=
"1" start=
"10" type=
"bool"/>
440 <field name=
"Work group Z" size=
"1" start=
"11" type=
"bool"/>
441 <field name=
"Global Invocation X" size=
"1" start=
"12" type=
"bool"/>
442 <field name=
"Global Invocation Y" size=
"1" start=
"13" type=
"bool"/>
443 <field name=
"Global Invocation Z" size=
"1" start=
"14" type=
"bool"/>
444 <field name=
"Uniform count" size=
"7" start=
"15" type=
"uint"/>
447 <struct name=
"Preload Vertex" size=
"1">
448 <field name=
"Vertex ID" size=
"1" start=
"13" type=
"bool"/>
449 <field name=
"Instance ID" size=
"1" start=
"14" type=
"bool"/>
450 <field name=
"Uniform count" size=
"7" start=
"15" type=
"uint"/>
453 <struct name=
"Preload Fragment" size=
"1">
454 <field name=
"Unknown" size=
"1" start=
"7" type=
"bool" default=
"true"/>
455 <field name=
"Primitive ID" size=
"1" start=
"9" type=
"bool"/>
456 <field name=
"Front facing" size=
"1" start=
"10" type=
"bool"/>
457 <field name=
"Fragment position" size=
"1" start=
"11" type=
"bool"/>
458 <field name=
"Sample mask/ID" size=
"1" start=
"12" type=
"bool"/>
459 <field name=
"Uniform count" size=
"7" start=
"15" type=
"uint"/>
462 <struct name=
"Shader" size=
"4">
463 <field name=
"Shader" size=
"64" start=
"0:0" type=
"address"/>
464 <field name=
"Sampler count" size=
"16" start=
"2:0" type=
"uint"/>
465 <field name=
"Texture count" size=
"16" start=
"2:16" type=
"uint"/>
466 <field name=
"Attribute count" size=
"16" start=
"3:0" type=
"uint"/>
467 <field name=
"Varying count" size=
"16" start=
"3:16" type=
"uint"/>
470 <struct name=
"Multisample, Misc" size=
"1">
471 <field name=
"Sample mask" size=
"16" start=
"0" type=
"uint"/>
472 <field name=
"Multisample enable" size=
"1" start=
"16" type=
"bool"/>
474 <field name=
"Evaluate per-sample" size=
"1" start=
"18" type=
"bool"/>
475 <field name=
"Unknown 1" size=
"1" start=
"19" type=
"bool"/>
476 <field name=
"Unknown 2" size=
"1" start=
"20" type=
"bool"/>
477 <field name=
"SFBD Load destination" size=
"1" start=
"21" type=
"bool"/>
478 <field name=
"SFBD Blend shader" size=
"1" start=
"22" type=
"bool"/>
480 <field name=
"Depth function" size=
"3" start=
"24" type=
"Func"/>
481 <field name=
"Depth write mask" size=
"1" start=
"27" type=
"bool"/>
482 <field name=
"Near discard" size=
"1" start=
"28" type=
"bool"/>
483 <field name=
"Far discard" size=
"1" start=
"29" type=
"bool"/>
487 <struct name=
"Stencil Mask, Misc" size=
"1">
488 <field name=
"Stencil mask front" size=
"8" start=
"0" type=
"uint"/>
489 <field name=
"Stencil mask back" size=
"8" start=
"8" type=
"uint"/>
490 <field name=
"Stencil enable" size=
"1" start=
"16" type=
"bool"/>
491 <field name=
"Alpha-to-coverage" size=
"1" start=
"17" type=
"bool"/>
493 <field name=
"SFBD Write enable" size=
"1" start=
"20" type=
"bool"/>
494 <field name=
"Unknown 1" size=
"3" start=
"21" type=
"uint"/>
495 <field name=
"SFBD sRGB" size=
"1" start=
"24" type=
"bool"/>
496 <field name=
"SFBD Dither disable" size=
"1" start=
"25" type=
"bool"/>
497 <field name=
"Unknown 2" size=
"1" start=
"26" type=
"bool"/>
498 <field name=
"Depth Range 1" size=
"1" start=
"28" type=
"bool"/>
499 <field name=
"Depth Range 2" size=
"1" start=
"29" type=
"bool"/>
500 <field name=
"Single-sampled lines" size=
"1" start=
"30" type=
"bool"/>
504 <struct name=
"Stencil">
505 <field name=
"Reference Value" size=
"8" start=
"0" type=
"uint"/>
506 <field name=
"Mask" size=
"8" start=
"8" type=
"uint" default=
"0xFF"/>
507 <field name=
"Compare Function" size=
"3" start=
"16" type=
"Func"/>
508 <field name=
"Stencil Fail" size=
"3" start=
"19" type=
"Stencil Op"/>
509 <field name=
"Depth Fail" size=
"3" start=
"22" type=
"Stencil Op"/>
510 <field name=
"Depth Pass" size=
"3" start=
"25" type=
"Stencil Op"/>
513 <struct name=
"State" with_opaque=
"true">
514 <field name=
"Shader" size=
"128" start=
"0:0" type=
"Shader"/>
515 <field name=
"Properties" size=
"32" start=
"4:0" type=
"uint"/>
516 <field name=
"Depth units" size=
"32" start=
"5:0" type=
"float"/>
517 <field name=
"Depth factor" size=
"32" start=
"6:0" type=
"float"/>
518 <!-- TODO: word 7 -->
519 <field name=
"Multisample, Misc" size=
"32" start=
"8:0" type=
"Multisample, Misc"/>
520 <field name=
"Stencil Mask, Misc" size=
"32" start=
"9:0" type=
"Stencil Mask, Misc"/>
521 <field name=
"Stencil front" size=
"32" start=
"10:0" type=
"Stencil"/>
522 <field name=
"Stencil back" size=
"32" start=
"11:0" type=
"Stencil"/>
523 <field name=
"Preload" size=
"32" start=
"12:0" type=
"Preload"/>
524 <!--- TODO: word 13 -->
525 <field name=
"SFBD Blend" size=
"64" start=
"14:0" type=
"uint"/>
528 <struct name=
"Uniform Buffer">
529 <field name=
"Entries" size=
"12" start=
"0" type=
"uint" modifier=
"minus(1)"/>
530 <field name=
"Pointer" size=
"52" start=
"12" type=
"address" modifier=
"shr(4)" element=
"16" count=
"Entries"/>
533 <struct name=
"Viewport">
534 <field name=
"Minimum X" size=
"32" start=
"0:0" default=
"-INFINITY" type=
"float"/>
535 <field name=
"Minimum Y" size=
"32" start=
"1:0" default=
"-INFINITY" type=
"float"/>
536 <field name=
"Maximum X" size=
"32" start=
"2:0" default=
"+INFINITY" type=
"float"/>
537 <field name=
"Maximum Y" size=
"32" start=
"3:0" default=
"+INFINITY" type=
"float"/>
538 <field name=
"Minimum Z" size=
"32" start=
"4:0" default=
"0.0" type=
"float"/>
539 <field name=
"Maximum Z" size=
"32" start=
"5:0" default=
"1.0" type=
"float"/>
540 <field name=
"Scissor Minimum X" size=
"16" start=
"6:0" default=
"0" type=
"uint"/>
541 <field name=
"Scissor Minimum Y" size=
"16" start=
"6:16" default=
"0" type=
"uint"/>
542 <field name=
"Scissor Maximum X" size=
"16" start=
"7:0" type=
"uint"/>
543 <field name=
"Scissor Maximum Y" size=
"16" start=
"7:16" type=
"uint"/>