17ec681f3Smrg<panxml arch="6">
27ec681f3Smrg  <enum name="Attribute Type">
37ec681f3Smrg    <value name="1D" value="1"/>
47ec681f3Smrg    <value name="1D POT Divisor" value="2"/>
57ec681f3Smrg    <value name="1D Modulus" value="3"/>
67ec681f3Smrg    <value name="1D NPOT Divisor" value="4"/>
77ec681f3Smrg    <value name="3D Linear" value="5"/>
87ec681f3Smrg    <value name="3D Interleaved" value="6"/>
97ec681f3Smrg    <value name="1D Primitive Index Buffer" value="7"/>
107ec681f3Smrg    <value name="1D POT Divisor Write Reduction" value="10"/>
117ec681f3Smrg    <value name="1D Modulus Write Reduction" value="11"/>
127ec681f3Smrg    <value name="1D NPOT Divisor Write Reduction" value="12"/>
137ec681f3Smrg    <value name="Continuation" value="32"/>
147ec681f3Smrg  </enum>
157ec681f3Smrg
167ec681f3Smrg  <enum name="Channel">
177ec681f3Smrg    <value name="R" value="0"/>
187ec681f3Smrg    <value name="G" value="1"/>
197ec681f3Smrg    <value name="B" value="2"/>
207ec681f3Smrg    <value name="A" value="3"/>
217ec681f3Smrg    <value name="0" value="4"/>
227ec681f3Smrg    <value name="1" value="5"/>
237ec681f3Smrg  </enum>
247ec681f3Smrg
257ec681f3Smrg  <enum name="Depth Source">
267ec681f3Smrg    <value name="Minimum" value="0"/>
277ec681f3Smrg    <value name="Maximum" value="1"/>
287ec681f3Smrg    <value name="Fixed function" value="2"/>
297ec681f3Smrg    <value name="Shader" value="3"/>
307ec681f3Smrg  </enum>
317ec681f3Smrg
327ec681f3Smrg  <enum name="Job Type">
337ec681f3Smrg    <value name="Not started" value="0"/>
347ec681f3Smrg    <value name="Null" value="1"/>
357ec681f3Smrg    <value name="Write value" value="2"/>
367ec681f3Smrg    <value name="Cache flush" value="3"/>
377ec681f3Smrg    <value name="Compute" value="4"/>
387ec681f3Smrg    <value name="Vertex" value="5"/>
397ec681f3Smrg    <value name="Geometry" value="6"/>
407ec681f3Smrg    <value name="Tiler" value="7"/>
417ec681f3Smrg    <value name="Fused" value="8"/>
427ec681f3Smrg    <value name="Fragment" value="9"/>
437ec681f3Smrg    <value name="Indexed Vertex" value="10"/>
447ec681f3Smrg  </enum>
457ec681f3Smrg
467ec681f3Smrg  <enum name="Draw Mode">
477ec681f3Smrg    <value name="None" value="0"/>
487ec681f3Smrg    <value name="Points" value="1"/>
497ec681f3Smrg    <value name="Lines" value="2"/>
507ec681f3Smrg    <value name="Line strip" value="4"/>
517ec681f3Smrg    <value name="Line loop" value="6"/>
527ec681f3Smrg    <value name="Triangles" value="8"/>
537ec681f3Smrg    <value name="Triangle strip" value="10"/>
547ec681f3Smrg    <value name="Triangle fan" value="12"/>
557ec681f3Smrg    <value name="Polygon" value="13"/>
567ec681f3Smrg    <value name="Quads" value="14"/>
577ec681f3Smrg    <value name="Quad strip" value="15"/>
587ec681f3Smrg  </enum>
597ec681f3Smrg
607ec681f3Smrg  <enum name="Exception Access">
617ec681f3Smrg    <value name="None" value="0"/>
627ec681f3Smrg    <value name="Execute" value="2"/>
637ec681f3Smrg    <value name="Read" value="1"/>
647ec681f3Smrg    <value name="Write" value="3"/>
657ec681f3Smrg  </enum>
667ec681f3Smrg
677ec681f3Smrg  <enum name="Func">
687ec681f3Smrg    <value name="Never" value="0"/>
697ec681f3Smrg    <value name="Less" value="1"/>
707ec681f3Smrg    <value name="Equal" value="2"/>
717ec681f3Smrg    <value name="Lequal" value="3"/>
727ec681f3Smrg    <value name="Greater" value="4"/>
737ec681f3Smrg    <value name="Not Equal" value="5"/>
747ec681f3Smrg    <value name="Gequal" value="6"/>
757ec681f3Smrg    <value name="Always" value="7"/>
767ec681f3Smrg  </enum>
777ec681f3Smrg
787ec681f3Smrg  <enum name="Format">
797ec681f3Smrg    <value name="ETC2 RGB8" value="1"/>
807ec681f3Smrg    <value name="ETC2 R11 UNORM" value="2"/>
817ec681f3Smrg    <value name="ETC2 RGBA8" value="3"/>
827ec681f3Smrg    <value name="ETC2 RG11 UNORM" value="4"/>
837ec681f3Smrg    <!--- 5-6 reserved *-->
847ec681f3Smrg    <value name="BC1 UNORM" value="7"/>
857ec681f3Smrg    <value name="BC2 UNORM" value="8"/>
867ec681f3Smrg    <value name="BC3 UNORM" value="9"/>
877ec681f3Smrg    <value name="BC4 UNORM" value="10"/>
887ec681f3Smrg    <value name="BC4 SNORM" value="11"/>
897ec681f3Smrg    <value name="BC5 UNORM" value="12"/>
907ec681f3Smrg    <value name="BC5 SNORM" value="13"/>
917ec681f3Smrg    <value name="BC6H UF16" value="14"/>
927ec681f3Smrg    <value name="BC6H SF16" value="15"/>
937ec681f3Smrg    <value name="BC7 UNORM" value="16"/>
947ec681f3Smrg    <value name="ETC2 R11 SNORM" value="17"/>
957ec681f3Smrg    <value name="ETC2 RG11 SNORM" value="18"/>
967ec681f3Smrg    <value name="ETC2 RGB8A1" value="19"/>
977ec681f3Smrg    <value name="ASTC 3D LDR" value="20"/>
987ec681f3Smrg    <value name="ASTC 3D HDR" value="21"/>
997ec681f3Smrg    <value name="ASTC 2D LDR" value="22"/>
1007ec681f3Smrg    <value name="ASTC 2D HDR" value="23"/>
1017ec681f3Smrg    <!--- 24-63 reserved *-->
1027ec681f3Smrg    <value name="RGB565" value="64"/>
1037ec681f3Smrg    <value name="RGB5 A1 UNORM" value="65"/>
1047ec681f3Smrg    <value name="A1 BGR5 UNORM" value="66"/>
1057ec681f3Smrg    <value name="RGB10 A2 UNORM" value="67"/>
1067ec681f3Smrg    <value name="A2 BGR10 UNORM" value="68"/>
1077ec681f3Smrg    <value name="RGB10 A2 SNORM" value="69"/>
1087ec681f3Smrg    <value name="A2 BGR10 SNORM" value="70"/>
1097ec681f3Smrg    <value name="RGB10 A2UI" value="71"/>
1107ec681f3Smrg    <value name="A2 BGR10UI" value="72"/>
1117ec681f3Smrg    <value name="RGB10 A2I" value="73"/>
1127ec681f3Smrg    <value name="A2 BGR10I" value="74"/>
1137ec681f3Smrg    <!--- 75-76 reserved *-->
1147ec681f3Smrg    <value name="Z24X8 UNORM" value="77"/>
1157ec681f3Smrg    <value name="X8Z24" value="78"/>
1167ec681f3Smrg    <value name="X32 S8X24" value="79"/>
1177ec681f3Smrg    <value name="X24S8 X32" value="80"/>
1187ec681f3Smrg    <value name="R32 FIXED" value="81"/>
1197ec681f3Smrg    <value name="RG32 FIXED" value="82"/>
1207ec681f3Smrg    <value name="RGB32 FIXED" value="83"/>
1217ec681f3Smrg    <value name="RGBA32 FIXED" value="84"/>
1227ec681f3Smrg    <!--- 85-88 reserved *-->
1237ec681f3Smrg    <value name="R11F G11F B10F" value="89"/>
1247ec681f3Smrg    <value name="B10F G11F R11F" value="90"/>
1257ec681f3Smrg    <value name="R9F G9F B9F E5F" value="91"/>
1267ec681f3Smrg    <value name="E5F B9F G9F R9F" value="92"/>
1277ec681f3Smrg    <value name="Snap 2" value="93"/>
1287ec681f3Smrg    <!--- RGBA32F + snap to 2^-8, used for vertex writes -->
1297ec681f3Smrg    <value name="Snap 4" value="94"/>
1307ec681f3Smrg    <value name="Constant" value="95"/>
1317ec681f3Smrg    <value name="R1 SNORM" value="96"/>
1327ec681f3Smrg    <value name="R2 SNORM" value="97"/>
1337ec681f3Smrg    <value name="R4 SNORM" value="98"/>
1347ec681f3Smrg    <value name="R8 SNORM" value="99"/>
1357ec681f3Smrg    <value name="R16 SNORM" value="100"/>
1367ec681f3Smrg    <value name="R32 SNORM" value="101"/>
1377ec681f3Smrg    <value name="R64 SNORM" value="102"/>
1387ec681f3Smrg    <!--- 103 reserved -->
1397ec681f3Smrg    <value name="RG1 SNORM" value="104"/>
1407ec681f3Smrg    <value name="RG2 SNORM" value="105"/>
1417ec681f3Smrg    <value name="RG4 SNORM" value="106"/>
1427ec681f3Smrg    <value name="RG8 SNORM" value="107"/>
1437ec681f3Smrg    <value name="RG16 SNORM" value="108"/>
1447ec681f3Smrg    <value name="RG32 SNORM" value="109"/>
1457ec681f3Smrg    <value name="RG64 SNORM" value="110"/>
1467ec681f3Smrg    <!-- 111 reserved -->
1477ec681f3Smrg    <value name="RGB1 SNORM" value="112"/>
1487ec681f3Smrg    <value name="RGB2 SNORM" value="113"/>
1497ec681f3Smrg    <value name="RGB4 SNORM" value="114"/>
1507ec681f3Smrg    <value name="RGB8 SNORM" value="115"/>
1517ec681f3Smrg    <value name="RGB16 SNORM" value="116"/>
1527ec681f3Smrg    <value name="RGB32 SNORM" value="117"/>
1537ec681f3Smrg    <value name="RGB64 SNORM" value="118"/>
1547ec681f3Smrg    <!-- 119 reserved -->
1557ec681f3Smrg    <value name="RGBA1 SNORM" value="120"/>
1567ec681f3Smrg    <value name="RGBA2 SNORM" value="121"/>
1577ec681f3Smrg    <value name="RGBA4 SNORM" value="122"/>
1587ec681f3Smrg    <value name="RGBA8 SNORM" value="123"/>
1597ec681f3Smrg    <value name="RGBA16 SNORM" value="124"/>
1607ec681f3Smrg    <value name="RGBA32 SNORM" value="125"/>
1617ec681f3Smrg    <value name="RGBA64 SNORM" value="126"/>
1627ec681f3Smrg    <!-- 127 reserved -->
1637ec681f3Smrg    <value name="R1UI" value="128"/>
1647ec681f3Smrg    <value name="R2UI" value="129"/>
1657ec681f3Smrg    <value name="R4UI" value="130"/>
1667ec681f3Smrg    <value name="R8UI" value="131"/>
1677ec681f3Smrg    <value name="R16UI" value="132"/>
1687ec681f3Smrg    <value name="R32UI" value="133"/>
1697ec681f3Smrg    <value name="R64UI" value="134"/>
1707ec681f3Smrg    <value name="R64F" value="135"/>
1717ec681f3Smrg    <value name="RG1UI" value="136"/>
1727ec681f3Smrg    <value name="RG2UI" value="137"/>
1737ec681f3Smrg    <value name="RG4UI" value="138"/>
1747ec681f3Smrg    <value name="RG8UI" value="139"/>
1757ec681f3Smrg    <value name="RG16UI" value="140"/>
1767ec681f3Smrg    <value name="RG32UI" value="141"/>
1777ec681f3Smrg    <value name="RG64UI" value="142"/>
1787ec681f3Smrg    <value name="RG64F" value="143"/>
1797ec681f3Smrg    <value name="RGB1UI" value="144"/>
1807ec681f3Smrg    <value name="RGB2UI" value="145"/>
1817ec681f3Smrg    <value name="RGB4UI" value="146"/>
1827ec681f3Smrg    <value name="RGB8UI" value="147"/>
1837ec681f3Smrg    <value name="RGB16UI" value="148"/>
1847ec681f3Smrg    <value name="RGB32UI" value="149"/>
1857ec681f3Smrg    <value name="RGB64UI" value="150"/>
1867ec681f3Smrg    <value name="RGB64F" value="151"/>
1877ec681f3Smrg    <value name="RGBA1UI" value="152"/>
1887ec681f3Smrg    <value name="RGBA2UI" value="153"/>
1897ec681f3Smrg    <value name="RGBA4UI" value="154"/>
1907ec681f3Smrg    <value name="RGBA8UI" value="155"/>
1917ec681f3Smrg    <value name="RGBA16UI" value="156"/>
1927ec681f3Smrg    <value name="RGBA32UI" value="157"/>
1937ec681f3Smrg    <value name="RGBA64UI" value="158"/>
1947ec681f3Smrg    <value name="RGBA64F" value="159"/>
1957ec681f3Smrg    <value name="R1 UNORM" value="160"/>
1967ec681f3Smrg    <value name="R2 UNORM" value="161"/>
1977ec681f3Smrg    <value name="R4 UNORM" value="162"/>
1987ec681f3Smrg    <value name="R8 UNORM" value="163"/>
1997ec681f3Smrg    <value name="R16 UNORM" value="164"/>
2007ec681f3Smrg    <value name="R32 UNORM" value="165"/>
2017ec681f3Smrg    <value name="R64 UNORM" value="166"/>
2027ec681f3Smrg    <value name="R32F" value="167"/>
2037ec681f3Smrg    <value name="RG1 UNORM" value="168"/>
2047ec681f3Smrg    <value name="RG2 UNORM" value="169"/>
2057ec681f3Smrg    <value name="RG4 UNORM" value="170"/>
2067ec681f3Smrg    <value name="RG8 UNORM" value="171"/>
2077ec681f3Smrg    <value name="RG16 UNORM" value="172"/>
2087ec681f3Smrg    <value name="RG32 UNORM" value="173"/>
2097ec681f3Smrg    <value name="RG64 UNORM" value="174"/>
2107ec681f3Smrg    <value name="RG32F" value="175"/>
2117ec681f3Smrg    <value name="RGB1 UNORM" value="176"/>
2127ec681f3Smrg    <value name="RGB2 UNORM" value="177"/>
2137ec681f3Smrg    <value name="RGB4 UNORM" value="178"/>
2147ec681f3Smrg    <value name="RGB8 UNORM" value="179"/>
2157ec681f3Smrg    <value name="RGB16 UNORM" value="180"/>
2167ec681f3Smrg    <value name="RGB32 UNORM" value="181"/>
2177ec681f3Smrg    <value name="RGB64 UNORM" value="182"/>
2187ec681f3Smrg    <value name="RGB32F" value="183"/>
2197ec681f3Smrg    <value name="RGBA1 UNORM" value="184"/>
2207ec681f3Smrg    <value name="RGBA2 UNORM" value="185"/>
2217ec681f3Smrg    <value name="RGBA4 UNORM" value="186"/>
2227ec681f3Smrg    <value name="RGBA8 UNORM" value="187"/>
2237ec681f3Smrg    <value name="RGBA16 UNORM" value="188"/>
2247ec681f3Smrg    <value name="RGBA32 UNORM" value="189"/>
2257ec681f3Smrg    <value name="RGBA64 UNORM" value="190"/>
2267ec681f3Smrg    <value name="RGBA32F" value="191"/>
2277ec681f3Smrg    <value name="R1I" value="192"/>
2287ec681f3Smrg    <value name="R2I" value="193"/>
2297ec681f3Smrg    <value name="R4I" value="194"/>
2307ec681f3Smrg    <value name="R8I" value="195"/>
2317ec681f3Smrg    <value name="R16I" value="196"/>
2327ec681f3Smrg    <value name="R32I" value="197"/>
2337ec681f3Smrg    <value name="R64I" value="198"/>
2347ec681f3Smrg    <value name="R16F" value="199"/>
2357ec681f3Smrg    <value name="RG1I" value="200"/>
2367ec681f3Smrg    <value name="RG2I" value="201"/>
2377ec681f3Smrg    <value name="RG4I" value="202"/>
2387ec681f3Smrg    <value name="RG8I" value="203"/>
2397ec681f3Smrg    <value name="RG16I" value="204"/>
2407ec681f3Smrg    <value name="RG32I" value="205"/>
2417ec681f3Smrg    <value name="RG64I" value="206"/>
2427ec681f3Smrg    <value name="RG16F" value="207"/>
2437ec681f3Smrg    <value name="RGB1I" value="208"/>
2447ec681f3Smrg    <value name="RGB2I" value="209"/>
2457ec681f3Smrg    <value name="RGB4I" value="210"/>
2467ec681f3Smrg    <value name="RGB8I" value="211"/>
2477ec681f3Smrg    <value name="RGB16I" value="212"/>
2487ec681f3Smrg    <value name="RGB32I" value="213"/>
2497ec681f3Smrg    <value name="RGB64I" value="214"/>
2507ec681f3Smrg    <value name="RGB16F" value="215"/>
2517ec681f3Smrg    <value name="RGBA1I" value="216"/>
2527ec681f3Smrg    <value name="RGBA2I" value="217"/>
2537ec681f3Smrg    <value name="RGBA4I" value="218"/>
2547ec681f3Smrg    <value name="RGBA8I" value="219"/>
2557ec681f3Smrg    <value name="RGBA16I" value="220"/>
2567ec681f3Smrg    <value name="RGBA32I" value="221"/>
2577ec681f3Smrg    <value name="RGBA64I" value="222"/>
2587ec681f3Smrg    <value name="RGBA16F" value="223"/>
2597ec681f3Smrg    <value name="RGB5 A1 AU" value="224"/>
2607ec681f3Smrg    <value name="RGB5 A1 PU" value="225"/>
2617ec681f3Smrg    <value name="R5G6B5 AU" value="226"/>
2627ec681f3Smrg    <value name="R5G6B5 PU" value="227"/>
2637ec681f3Smrg    <!--- 228-229 reserved *-->
2647ec681f3Smrg    <value name="Snap4 V" value="230"/>
2657ec681f3Smrg    <!--- 231 reserved *-->
2667ec681f3Smrg    <value name="RGBA4 AU" value="232"/>
2677ec681f3Smrg    <value name="RGBA4 PU" value="233"/>
2687ec681f3Smrg    <!--- 234-236 reserved *-->
2697ec681f3Smrg    <value name="RGBA8 TB" value="237"/>
2707ec681f3Smrg    <value name="RGB10 A2 TB" value="238"/>
2717ec681f3Smrg    <!--- 239 reserved *-->
2727ec681f3Smrg    <value name="Tess Vertex Pack" value="240"/>
2737ec681f3Smrg    <value name="RGB8 A2 AU" value="241"/>
2747ec681f3Smrg    <value name="RGB8 A2 PU" value="242"/>
2757ec681f3Smrg    <!--- 243-255 reserved *-->
2767ec681f3Smrg  </enum>
2777ec681f3Smrg
2787ec681f3Smrg  <enum name="YUV Swizzle">
2797ec681f3Smrg    <value name="YUVA" value="0"/>
2807ec681f3Smrg    <value name="YVUA" value="1"/>
2817ec681f3Smrg    <value name="UYVA" value="2"/>
2827ec681f3Smrg    <value name="UVYA" value="3"/>
2837ec681f3Smrg    <value name="VUYA" value="4"/>
2847ec681f3Smrg    <value name="VYUA" value="5"/>
2857ec681f3Smrg    <value name="Y00A" value="6"/>
2867ec681f3Smrg    <value name="YXXA" value="7"/>
2877ec681f3Smrg  </enum>
2887ec681f3Smrg
2897ec681f3Smrg  <enum name="YUV Conversion Mode">
2907ec681f3Smrg    <value name="No Conversion" value="0"/>
2917ec681f3Smrg    <value name="BT 601" value="3"/>
2927ec681f3Smrg    <value name="BT 709" value="4"/>
2937ec681f3Smrg    <value name="BT 2020" value="6"/>
2947ec681f3Smrg  </enum>
2957ec681f3Smrg
2967ec681f3Smrg  <enum name="YUV Cr Siting">
2977ec681f3Smrg    <value name="Co-Sited" value="0"/>
2987ec681f3Smrg    <value name="Center Y" value="1"/>
2997ec681f3Smrg    <value name="Center X" value="2"/>
3007ec681f3Smrg    <value name="Center" value="3"/>
3017ec681f3Smrg    <value name="One Quarter" value="4"/>
3027ec681f3Smrg    <value name="Three Quarters" value="5"/>
3037ec681f3Smrg    <value name="Replicated" value="7"/>
3047ec681f3Smrg  </enum>
3057ec681f3Smrg
3067ec681f3Smrg  <enum name="ASTC 2D Dimension">
3077ec681f3Smrg    <value name="4" value="0"/>
3087ec681f3Smrg    <value name="5" value="1"/>
3097ec681f3Smrg    <value name="6" value="2"/>
3107ec681f3Smrg    <value name="8" value="4"/>
3117ec681f3Smrg    <value name="10" value="6"/>
3127ec681f3Smrg    <value name="12" value="7"/>
3137ec681f3Smrg  </enum>
3147ec681f3Smrg
3157ec681f3Smrg  <enum name="ASTC 3D Dimension">
3167ec681f3Smrg    <value name="4" value="0"/>
3177ec681f3Smrg    <value name="5" value="1"/>
3187ec681f3Smrg    <value name="6" value="2"/>
3197ec681f3Smrg    <value name="3" value="3"/>
3207ec681f3Smrg  </enum>
3217ec681f3Smrg
3227ec681f3Smrg  <enum name="Pixel Kill">
3237ec681f3Smrg    <value name="Force Early" value="0"/>
3247ec681f3Smrg    <value name="Strong Early" value="1"/>
3257ec681f3Smrg    <value name="Weak Early" value="2"/>
3267ec681f3Smrg    <value name="Force Late" value="3"/>
3277ec681f3Smrg  </enum>
3287ec681f3Smrg
3297ec681f3Smrg  <enum name="Block Format">
3307ec681f3Smrg    <!--- 16x16 block u-interleaved -->
3317ec681f3Smrg    <value name="Tiled U-Interleaved" value="0"/>
3327ec681f3Smrg    <value name="Tiled Linear" value="1"/>
3337ec681f3Smrg    <value name="Linear" value="2"/>
3347ec681f3Smrg    <value name="AFBC" value="3"/>
3357ec681f3Smrg  </enum>
3367ec681f3Smrg
3377ec681f3Smrg  <enum name="Mipmap Mode">
3387ec681f3Smrg    <value name="Nearest" value="0"/>
3397ec681f3Smrg    <value name="None" value="1"/>
3407ec681f3Smrg    <value name="Trilinear" value="3"/>
3417ec681f3Smrg  </enum>
3427ec681f3Smrg
3437ec681f3Smrg  <enum name="LOD Algorithm">
3447ec681f3Smrg    <value name="Isotropic" value="0"/>
3457ec681f3Smrg      <!--- 1, 2 reserved -->
3467ec681f3Smrg    <value name="Anisotropic" value="3"/>
3477ec681f3Smrg  </enum>
3487ec681f3Smrg
3497ec681f3Smrg  <enum name="MSAA">
3507ec681f3Smrg    <value name="Single" value="0"/>
3517ec681f3Smrg    <!-- N samples, 1 surface, resolved -->
3527ec681f3Smrg    <value name="Average" value="1"/>
3537ec681f3Smrg    <!-- N samples, 1 surface, unresolved -->
3547ec681f3Smrg    <value name="Multiple" value="2"/>
3557ec681f3Smrg    <!-- N samples, N surfaces -->
3567ec681f3Smrg    <value name="Layered" value="3"/>
3577ec681f3Smrg  </enum>
3587ec681f3Smrg
3597ec681f3Smrg  <enum name="Index Type">
3607ec681f3Smrg    <value name="None" value="0"/>
3617ec681f3Smrg    <value name="UINT8" value="1"/>
3627ec681f3Smrg    <value name="UINT16" value="2"/>
3637ec681f3Smrg    <value name="UINT32" value="3"/>
3647ec681f3Smrg  </enum>
3657ec681f3Smrg
3667ec681f3Smrg  <enum name="Occlusion Mode">
3677ec681f3Smrg    <value name="Disabled" value="0"/>
3687ec681f3Smrg    <value name="Predicate" value="1"/>
3697ec681f3Smrg    <value name="Counter" value="3"/>
3707ec681f3Smrg  </enum>
3717ec681f3Smrg
3727ec681f3Smrg  <enum name="Stencil Op">
3737ec681f3Smrg    <value name="Keep" value="0"/>
3747ec681f3Smrg    <value name="Replace" value="1"/>
3757ec681f3Smrg    <value name="Zero" value="2"/>
3767ec681f3Smrg    <value name="Invert" value="3"/>
3777ec681f3Smrg    <value name="Incr Wrap" value="4"/>
3787ec681f3Smrg    <value name="Decr Wrap" value="5"/>
3797ec681f3Smrg    <value name="Incr Sat" value="6"/>
3807ec681f3Smrg    <value name="Decr Sat" value="7"/>
3817ec681f3Smrg  </enum>
3827ec681f3Smrg
3837ec681f3Smrg  <enum name="Texture Dimension">
3847ec681f3Smrg    <value name="Cube" value="0"/>
3857ec681f3Smrg    <value name="1D" value="1"/>
3867ec681f3Smrg    <value name="2D" value="2"/>
3877ec681f3Smrg    <value name="3D" value="3"/>
3887ec681f3Smrg  </enum>
3897ec681f3Smrg
3907ec681f3Smrg  <enum name="Texture Layout">
3917ec681f3Smrg    <!--- 16x16 block u-interleaved -->
3927ec681f3Smrg    <value name="Tiled" value="1"/>
3937ec681f3Smrg    <value name="Linear" value="2"/>
3947ec681f3Smrg    <value name="AFBC" value="12"/>
3957ec681f3Smrg  </enum>
3967ec681f3Smrg
3977ec681f3Smrg  <enum name="AFBC Surface Flag">
3987ec681f3Smrg    <value name="YTR" value="1"/>
3997ec681f3Smrg    <value name="Split Block" value="2"/>
4007ec681f3Smrg    <value name="Wide Block" value="4"/>
4017ec681f3Smrg    <value name="Tiled Header" value="8"/>
4027ec681f3Smrg    <value name="Prefetch" value="16"/>
4037ec681f3Smrg    <value name="Check Payload Range" value="32"/>
4047ec681f3Smrg  </enum>
4057ec681f3Smrg
4067ec681f3Smrg  <enum name="Wrap Mode">
4077ec681f3Smrg    <value name="Repeat" value="8"/>
4087ec681f3Smrg    <value name="Clamp to Edge" value="9"/>
4097ec681f3Smrg    <value name="Clamp to Border" value="11"/>
4107ec681f3Smrg    <value name="Mirrored Repeat" value="12"/>
4117ec681f3Smrg    <value name="Mirrored Clamp to Edge" value="13"/>
4127ec681f3Smrg    <value name="Mirrored Clamp to Border" value="15"/>
4137ec681f3Smrg  </enum>
4147ec681f3Smrg
4157ec681f3Smrg  <struct name="Attribute" align="8">
4167ec681f3Smrg    <field name="Buffer index" size="9" start="0" type="uint"/>
4177ec681f3Smrg    <field name="Offset enable" size="1" start="9" type="bool" default="true"/>
4187ec681f3Smrg    <field name="Format" size="22" start="10" type="Pixel Format"/>
4197ec681f3Smrg    <field name="Offset" size="32" start="32" type="int"/>
4207ec681f3Smrg  </struct>
4217ec681f3Smrg
4227ec681f3Smrg  <struct name="Attribute Buffer" align="32">
4237ec681f3Smrg    <field name="Type" size="6" start="0" type="Attribute Type" default="1D"/>
4247ec681f3Smrg    <field name="Pointer" size="50" start="6" type="address" modifier="shr(6)"/>
4257ec681f3Smrg    <field name="Stride" size="32" start="64" type="uint"/>
4267ec681f3Smrg    <field name="Size" size="32" start="96" type="uint"/>
4277ec681f3Smrg
4287ec681f3Smrg    <field name="Divisor" size="8" start="56" type="padded" default="1"/>
4297ec681f3Smrg    <field name="Divisor R" size="5" start="56" type="uint"/>
4307ec681f3Smrg    <field name="Divisor P" size="3" start="61" type="uint"/>
4317ec681f3Smrg    <field name="Divisor E" size="1" start="61" type="uint"/>
4327ec681f3Smrg  </struct>
4337ec681f3Smrg
4347ec681f3Smrg  <struct name="Attribute Buffer Continuation NPOT">
4357ec681f3Smrg    <field name="Type" size="6" start="0:0" type="Attribute Type" default="Continuation"/>
4367ec681f3Smrg    <field name="Divisor Numerator" size="32" start="1:0" type="uint"/>
4377ec681f3Smrg    <field name="Divisor" size="32" start="3:0" type="uint"/>
4387ec681f3Smrg  </struct>
4397ec681f3Smrg
4407ec681f3Smrg  <struct name="Attribute Buffer Continuation 3D" size="4">
4417ec681f3Smrg    <field name="Type" size="6" start="0:0" type="Attribute Type" default="Continuation"/>
4427ec681f3Smrg    <field name="S dimension" size="16" start="0:16" type="uint" modifier="minus(1)"/>
4437ec681f3Smrg    <field name="T dimension" size="16" start="1:0" type="uint" modifier="minus(1)"/>
4447ec681f3Smrg    <field name="R dimension" size="16" start="1:16" type="uint" modifier="minus(1)"/>
4457ec681f3Smrg    <field name="Row Stride" size="32" start="2:0" type="uint"/>
4467ec681f3Smrg    <field name="Slice Stride" size="32" start="3:0" type="uint"/>
4477ec681f3Smrg  </struct>
4487ec681f3Smrg
4497ec681f3Smrg  <enum name="Blend Operand A">
4507ec681f3Smrg    <value name="Zero" value="1"/>
4517ec681f3Smrg    <value name="Src" value="2"/>
4527ec681f3Smrg    <value name="Dest" value="3"/>
4537ec681f3Smrg  </enum>
4547ec681f3Smrg
4557ec681f3Smrg  <enum name="Blend Operand B">
4567ec681f3Smrg    <value name="Src Minus Dest" value="0"/>
4577ec681f3Smrg    <value name="Src Plus Dest" value="1"/>
4587ec681f3Smrg    <value name="Src" value="2"/>
4597ec681f3Smrg    <value name="Dest" value="3"/>
4607ec681f3Smrg  </enum>
4617ec681f3Smrg
4627ec681f3Smrg  <enum name="Blend Operand C">
4637ec681f3Smrg    <value name="Zero" value="1"/>
4647ec681f3Smrg    <value name="Src" value="2"/>
4657ec681f3Smrg    <value name="Dest" value="3"/>
4667ec681f3Smrg    <value name="Src x 2" value="4"/>
4677ec681f3Smrg    <value name="Src Alpha" value="5"/>
4687ec681f3Smrg    <value name="Dest Alpha" value="6"/>
4697ec681f3Smrg    <value name="Constant" value="7"/>
4707ec681f3Smrg  </enum>
4717ec681f3Smrg
4727ec681f3Smrg  <struct name="Blend Function" no-direct-packing="true">
4737ec681f3Smrg    <!-- Blend equation: A + (B * C) -->
4747ec681f3Smrg    <field name="A" size="2" start="0" type="Blend Operand A"/>
4757ec681f3Smrg    <field name="Negate A" size="1" start="3" type="bool"/>
4767ec681f3Smrg    <field name="B" size="2" start="4" type="Blend Operand B"/>
4777ec681f3Smrg    <field name="Negate B" size="1" start="7" type="bool"/>
4787ec681f3Smrg    <field name="C" size="3" start="8" type="Blend Operand C"/>
4797ec681f3Smrg    <field name="Invert C" size="1" start="11" type="bool"/>
4807ec681f3Smrg  </struct>
4817ec681f3Smrg
4827ec681f3Smrg  <struct name="Blend Equation" size="1">
4837ec681f3Smrg    <field name="RGB" size="12" start="0:0" type="Blend Function"/>
4847ec681f3Smrg    <field name="Alpha" size="12" start="0:12" type="Blend Function"/>
4857ec681f3Smrg    <field name="Color Mask" size="4" start="0:28" type="uint"/>
4867ec681f3Smrg  </struct>
4877ec681f3Smrg
4887ec681f3Smrg  <enum name="Register File Format">
4897ec681f3Smrg    <value name="F16" value="0"/>
4907ec681f3Smrg    <value name="F32" value="1"/>
4917ec681f3Smrg    <value name="I32" value="2"/>
4927ec681f3Smrg    <value name="U32" value="3"/>
4937ec681f3Smrg    <value name="I16" value="4"/>
4947ec681f3Smrg    <value name="U16" value="5"/>
4957ec681f3Smrg  </enum>
4967ec681f3Smrg
4977ec681f3Smrg  <enum name="Message Type">
4987ec681f3Smrg    <value name="Disabled" value="0"/>
4997ec681f3Smrg    <value name="LD_VAR" value="1"/>
5007ec681f3Smrg    <value name="VAR_TEX" value="2"/>
5017ec681f3Smrg  </enum>
5027ec681f3Smrg
5037ec681f3Smrg  <enum name="Message Preload Register Format">
5047ec681f3Smrg    <value name="F32" value="0"/>
5057ec681f3Smrg    <value name="F16" value="1"/>
5067ec681f3Smrg  </enum>
5077ec681f3Smrg
5087ec681f3Smrg  <enum name="Blend Mode">
5097ec681f3Smrg    <value name="Shader" value="0"/>
5107ec681f3Smrg    <value name="Opaque" value="1"/>
5117ec681f3Smrg    <value name="Fixed-Function" value="2"/>
5127ec681f3Smrg    <value name="Off" value="3"/>
5137ec681f3Smrg  </enum>
5147ec681f3Smrg
5157ec681f3Smrg  <struct name="Blend Shader" size="2">
5167ec681f3Smrg    <field name="Return Value" size="29" start="0:3" type="uint" modifier="shr(3)"/>
5177ec681f3Smrg    <field name="PC" size="28" start="1:4" type="uint" modifier="shr(4)"/>
5187ec681f3Smrg  </struct>
5197ec681f3Smrg
5207ec681f3Smrg  <struct name="Internal Conversion" size="1">
5217ec681f3Smrg    <field name="Memory Format" size="22" start="0" type="Pixel Format"/>
5227ec681f3Smrg    <field name="Raw" size="1" start="22" type="bool"/>
5237ec681f3Smrg    <field name="Register Format" size="3" start="24" type="Register File Format"/>
5247ec681f3Smrg  </struct>
5257ec681f3Smrg
5267ec681f3Smrg  <struct name="Blend Fixed-Function" size="2">
5277ec681f3Smrg    <field name="Num Comps" size="2" start="0:3" type="uint" modifier="minus(1)" default="1"/>
5287ec681f3Smrg    <field name="Alpha Zero NOP" size="1" start="0:5" type="bool"/>
5297ec681f3Smrg    <field name="Alpha One Store" size="1" start="0:6" type="bool"/>
5307ec681f3Smrg    <field name="RT" size="4" start="0:16" type="uint">
5317ec681f3Smrg       <value name="MALI_BIFROST_BLEND_MAX_RT" value="8"/>
5327ec681f3Smrg    </field>
5337ec681f3Smrg    <field name="Conversion" size="32" start="1:0" type="Internal Conversion"/>
5347ec681f3Smrg  </struct>
5357ec681f3Smrg
5367ec681f3Smrg  <struct name="Internal Blend">
5377ec681f3Smrg    <field name="Mode" size="2" start="0:0" type="Blend Mode"/>
5387ec681f3Smrg    <field name="Shader" size="64" start="0:0" type="Blend Shader"/>
5397ec681f3Smrg    <field name="Fixed-Function" size="64" start="0:0" type="Blend Fixed-Function"/>
5407ec681f3Smrg  </struct>
5417ec681f3Smrg
5427ec681f3Smrg  <struct name="Blend" size="4" align="16">
5437ec681f3Smrg    <field name="Load Destination" size="1" start="0:0" type="bool" default="false"/>
5447ec681f3Smrg    <field name="Alpha To One" size="1" start="0:8" type="bool"/>
5457ec681f3Smrg    <field name="Enable" size="1" start="0:9" type="bool" default="true"/>
5467ec681f3Smrg    <field name="sRGB" size="1" start="0:10" type="bool" default="false"/>
5477ec681f3Smrg    <field name="Round to FB precision" size="1" start="0:11" type="bool" default="false"/>
5487ec681f3Smrg    <field name="Constant" size="16" start="0:16" type="uint"/>
5497ec681f3Smrg    <field name="Equation" size="32" start="1:0" type="Blend Equation"/>
5507ec681f3Smrg    <field name="Internal" size="64" start="2:0" type="Internal Blend"/>
5517ec681f3Smrg  </struct>
5527ec681f3Smrg
5537ec681f3Smrg  <struct name="Invocation">
5547ec681f3Smrg    <!-- Dynamic bitfield containing WorkGroupSize.xyz, NumWorkGroups.xyz
5557ec681f3Smrg      The number of bits allocated for each number is based on the *_shift
5567ec681f3Smrg      fields. For example, workgroups_y_shift gives the bit that
5577ec681f3Smrg      gl_NumWorkGroups.y starts at, and workgroups_z_shift gives the bit
5587ec681f3Smrg      that gl_NumWorkGroups.z starts at (and therefore one after the bit
5597ec681f3Smrg      that gl_NumWorkGroups.y ends at). The actual value for each
5607ec681f3Smrg      is one more than the stored value, since if any of the values
5617ec681f3Smrg      are zero, then there would be no invocations (and hence no job). -->
5627ec681f3Smrg    <field name="Invocations" size="32" start="0:0" type="uint"/>
5637ec681f3Smrg    <field name="Size Y shift" size="5" start="1:0" type="uint"/>
5647ec681f3Smrg    <field name="Size Z shift" size="5" start="1:5" type="uint"/>
5657ec681f3Smrg    <field name="Workgroups X shift" size="6" start="1:10" type="uint"/>
5667ec681f3Smrg    <field name="Workgroups Y shift" size="6" start="1:16" type="uint"/>
5677ec681f3Smrg    <field name="Workgroups Z shift" size="6" start="1:22" type="uint"/>
5687ec681f3Smrg    <field name="Thread group split" size="4" start="1:28" type="uint" prefix="MALI_SPLIT">
5697ec681f3Smrg      <value name="Min efficient" value="2"/>
5707ec681f3Smrg    </field>
5717ec681f3Smrg  </struct>
5727ec681f3Smrg
5737ec681f3Smrg  <enum name="Point Size Array Format">
5747ec681f3Smrg    <value name="None" value="0"/>
5757ec681f3Smrg    <value name="FP16" value="2"/>
5767ec681f3Smrg    <value name="FP32" value="3"/>
5777ec681f3Smrg  </enum>
5787ec681f3Smrg
5797ec681f3Smrg  <enum name="Primitive Restart">
5807ec681f3Smrg    <value name="None" value="0"/>
5817ec681f3Smrg    <value name="Implicit" value="2"/>
5827ec681f3Smrg    <value name="Explicit" value="3"/>
5837ec681f3Smrg  </enum>
5847ec681f3Smrg
5857ec681f3Smrg  <struct name="Primitive">
5867ec681f3Smrg    <field name="Draw mode" size="8" start="0:0" type="Draw Mode" default="None"/>
5877ec681f3Smrg    <field name="Index type" size="3" start="0:8" type="Index Type" default="None"/>
5887ec681f3Smrg    <field name="Point size array format" size="2" start="0:11" type="Point Size Array Format"/>
5897ec681f3Smrg    <field name="Primitive Index Enable" size="1" start="0:13" type="bool"/>
5907ec681f3Smrg    <field name="Primitive Index Writeback" size="1" start="0:14" type="bool"/>
5917ec681f3Smrg    <field name="First provoking vertex" size="1" start="0:15" type="bool" default="true"/>
5927ec681f3Smrg    <field name="Low Depth Cull" size="1" start="0:16" type="bool" default="true"/>
5937ec681f3Smrg    <field name="High Depth Cull" size="1" start="0:17" type="bool" default="true"/>
5947ec681f3Smrg    <field name="Secondary Shader" size="1" start="0:18" type="bool"/>
5957ec681f3Smrg    <field name="Primitive restart" size="2" start="0:19" type="Primitive Restart"/>
5967ec681f3Smrg    <field name="Job Task Split" size="6" start="0:26" type="uint"/>
5977ec681f3Smrg    <field name="Base vertex offset" size="32" start="1:0" type="uint"/>
5987ec681f3Smrg    <field name="Primitive Restart Index" size="32" start="2:0" type="uint"/>
5997ec681f3Smrg    <field name="Index count" size="32" start="3:0" type="uint" modifier="minus(1)"/>
6007ec681f3Smrg    <field name="Indices" size="64" start="4:0" type="address"/>
6017ec681f3Smrg  </struct>
6027ec681f3Smrg
6037ec681f3Smrg  <struct name="Draw" size="32" align="64">
6047ec681f3Smrg    <field name="Four Components Per Vertex" size="1" start="0:0" type="bool"/>
6057ec681f3Smrg    <field name="Draw Descriptor Is 64b" size="1" start="0:1" type="bool"/>
6067ec681f3Smrg    <field name="Occlusion query" size="2" start="0:3" type="Occlusion Mode" default="Disabled"/>
6077ec681f3Smrg    <field name="Front face CCW" size="1" start="0:5" type="bool"/>
6087ec681f3Smrg    <field name="Cull front face" size="1" start="0:6" type="bool"/>
6097ec681f3Smrg    <field name="Cull back face" size="1" start="0:7" type="bool"/>
6107ec681f3Smrg    <field name="Flat Shading Vertex" size="1" start="0:8" type="uint"/>
6117ec681f3Smrg    <field name="Exclude Filtered Perf Counters" size="1" start="0:9" type="bool"/>
6127ec681f3Smrg    <field name="Primitive Barrier" size="1" start="0:10" type="bool"/>
6137ec681f3Smrg    <field name="Clean Fragment Write" size="1" start="0:11" type="bool"/>
6147ec681f3Smrg    <field name="Instance Size" size="8" start="0:16" type="padded" default="1"/>
6157ec681f3Smrg    <field name="Instance Primitive Size" size="8" start="0:24" type="padded" default="1"/>
6167ec681f3Smrg    <field name="Offset start" size="32" start="1:0" type="uint"/>
6177ec681f3Smrg    <field name="Primitive Index Base" size="32" start="2:0" type="uint"/>
6187ec681f3Smrg    <field name="Position" size="64" start="4:0" type="address"/>
6197ec681f3Smrg    <field name="Uniform buffers" size="64" start="6:0" type="address"/>
6207ec681f3Smrg    <field name="Textures" size="64" start="8:0" type="address"/>
6217ec681f3Smrg    <field name="Samplers" size="64" start="10:0" type="address"/>
6227ec681f3Smrg    <field name="Push uniforms" size="64" start="12:0" type="address"/>
6237ec681f3Smrg    <field name="State" size="64" start="14:0" type="address"/>
6247ec681f3Smrg    <field name="Attribute buffers" size="64" start="16:0" type="address"/>
6257ec681f3Smrg    <field name="Attributes" size="64" start="18:0" type="address"/>
6267ec681f3Smrg    <field name="Varying buffers" size="64" start="20:0" type="address"/>
6277ec681f3Smrg    <field name="Varyings" size="64" start="22:0" type="address"/>
6287ec681f3Smrg    <field name="Viewport" size="64" start="24:0" type="address"/>
6297ec681f3Smrg    <field name="Occlusion" size="64" start="26:0" type="address"/>
6307ec681f3Smrg    <field name="Thread Storage" size="64" start="28:0" type="address"/>
6317ec681f3Smrg    <field name="FBD" size="64" start="28:0" type="address"/>
6327ec681f3Smrg  </struct>
6337ec681f3Smrg
6347ec681f3Smrg  <struct name="Surface" align="8">
6357ec681f3Smrg    <field name="Pointer" size="64" start="0:0" type="address"/>
6367ec681f3Smrg  </struct>
6377ec681f3Smrg
6387ec681f3Smrg  <struct name="Surface With Stride" align="8">
6397ec681f3Smrg    <field name="Pointer" size="64" start="0:0" type="address"/>
6407ec681f3Smrg    <field name="Row stride" size="32" start="2:0" type="int"/>
6417ec681f3Smrg    <field name="Surface stride" size="32" start="3:0" type="int"/>
6427ec681f3Smrg  </struct>
6437ec681f3Smrg
6447ec681f3Smrg  <struct name="Sampler" size="8" align="32">
6457ec681f3Smrg    <field name="Type" size="4" start="0:0" type="uint" default="1"/>
6467ec681f3Smrg    <field name="Wrap Mode R" size="4" start="0:8" type="Wrap Mode" default="Clamp to Edge"/>
6477ec681f3Smrg    <field name="Wrap Mode T" size="4" start="0:12" type="Wrap Mode" default="Clamp to Edge"/>
6487ec681f3Smrg    <field name="Wrap Mode S" size="4" start="0:16" type="Wrap Mode" default="Clamp to Edge"/>
6497ec681f3Smrg    <field name="Round to nearest even" size="1" start="0:21" type="bool" default="false"/>
6507ec681f3Smrg    <!--- Disable sRGB-to-linear conversion (assume linear) -->
6517ec681f3Smrg    <field name="sRGB override" size="1" start="0:22" type="bool" default="false"/>
6527ec681f3Smrg    <field name="Seamless Cube Map" size="1" start="0:23" type="bool" default="true"/>
6537ec681f3Smrg    <field name="Clamp integer coordinates" size="1" start="0:24" type="bool"/>
6547ec681f3Smrg    <field name="Normalized Coordinates" size="1" start="0:25" type="bool" default="true"/>
6557ec681f3Smrg    <field name="Clamp integer array indices" size="1" start="0:26" type="bool" default="true"/>
6567ec681f3Smrg    <field name="Minify nearest" size="1" start="0:27" type="bool" default="false"/>
6577ec681f3Smrg    <field name="Magnify nearest" size="1" start="0:28" type="bool" default="false"/>
6587ec681f3Smrg    <!--- Set for 0.5, clear for 0.0 -->
6597ec681f3Smrg    <field name="Magnify cutoff" size="1" start="0:29" type="bool" default="false"/>
6607ec681f3Smrg    <field name="Mipmap Mode" size="2" start="0:30" type="Mipmap Mode" default="Nearest"/>
6617ec681f3Smrg    <field name="Minimum LOD" size="13" start="1:0" type="uint" default="0"/>
6627ec681f3Smrg    <field name="Compare Function" size="3" start="1:13" type="Func" default="Never"/>
6637ec681f3Smrg    <field name="Maximum LOD" size="13" start="1:16" type="uint" default="0"/>
6647ec681f3Smrg    <field name="LOD bias" size="16" start="2:0" type="int" default="0"/>
6657ec681f3Smrg    <field name="Maximum anisotropy" size="5" start="2:16" type="uint" default="1" modifier="minus(1)"/>
6667ec681f3Smrg    <field name="LOD algorithm" size="2" start="2:24" type="LOD Algorithm" default="Isotropic"/>
6677ec681f3Smrg    <field name="Border Color R" size="32" start="4:0" type="uint/float" default="0.0"/>
6687ec681f3Smrg    <field name="Border Color G" size="32" start="5:0" type="uint/float" default="0.0"/>
6697ec681f3Smrg    <field name="Border Color B" size="32" start="6:0" type="uint/float" default="0.0"/>
6707ec681f3Smrg    <field name="Border Color A" size="32" start="7:0" type="uint/float" default="0.0"/>
6717ec681f3Smrg  </struct>
6727ec681f3Smrg
6737ec681f3Smrg  <struct name="Texture" size="8" align="32">
6747ec681f3Smrg    <field name="Type" size="4" start="0:0" type="uint" default="2"/>
6757ec681f3Smrg    <field name="Dimension" size="2" start="0:4" type="Texture Dimension"/>
6767ec681f3Smrg    <field name="Sample corner position" size="1" start="0:8" type="bool" default="false"/>
6777ec681f3Smrg    <field name="Normalize coordinates" size="1" start="0:9" type="bool" default="false"/>
6787ec681f3Smrg    <field name="Format" size="22" start="0:10" type="Pixel Format"/>
6797ec681f3Smrg    <field name="Width" size="16" start="1:0" type="uint" modifier="minus(1)"/>
6807ec681f3Smrg    <field name="Height" size="16" start="1:16" type="uint" modifier="minus(1)"/>
6817ec681f3Smrg    <field name="Swizzle" size="12" start="2:0" type="uint"/>
6827ec681f3Smrg    <field name="Texel ordering" size="4" start="2:12" type="Texture Layout"/>
6837ec681f3Smrg    <field name="Levels" size="5" start="2:16" type="uint" default="1" modifier="minus(1)"/>
6847ec681f3Smrg    <field name="Minimum level" size="5" start="2:24" type="uint"/>
6857ec681f3Smrg    <field name="Minimum LOD" size="13" start="3:0" type="uint" default="0"/>
6867ec681f3Smrg    <field name="Sample count" size="3" start="3:13" type="uint" default="1" modifier="log2"/>
6877ec681f3Smrg    <field name="Maximum LOD" size="13" start="3:16" type="uint" default="0"/>
6887ec681f3Smrg    <field name="Surfaces" size="64" start="4:0" type="address"/>
6897ec681f3Smrg    <field name="Array size" size="16" start="6:0" type="uint" modifier="minus(1)" default="1"/>
6907ec681f3Smrg    <field name="Depth" size="16" start="7:0" type="uint" modifier="minus(1)" default="1"/>
6917ec681f3Smrg  </struct>
6927ec681f3Smrg
6937ec681f3Smrg  <enum name="Shader Register Allocation">
6947ec681f3Smrg    <value name="64 Per Thread" value="0"/>
6957ec681f3Smrg    <value name="32 Per Thread" value="2"/>
6967ec681f3Smrg  </enum>
6977ec681f3Smrg
6987ec681f3Smrg  <struct name="Renderer Properties" size="1">
6997ec681f3Smrg    <field name="Uniform buffer count" size="8" start="0" type="uint"/>
7007ec681f3Smrg    <field name="Depth source" size="2" start="8" type="Depth Source" default="Minimum"/>
7017ec681f3Smrg    <field name="Shader contains barrier" size="1" start="11" type="bool"/>
7027ec681f3Smrg    <field name="Shader register allocation" size="2" start="12" type="Shader Register Allocation"/>
7037ec681f3Smrg    <field name="Shader modifies coverage" size="1" start="16" type="bool"/>
7047ec681f3Smrg    <field name="Allow forward pixel to kill" size="1" start="19" type="bool"/>
7057ec681f3Smrg    <field name="Allow forward pixel to be killed" size="1" start="20" type="bool"/>
7067ec681f3Smrg    <field name="Pixel kill operation" size="2" start="21" type="Pixel Kill"/>
7077ec681f3Smrg    <field name="ZS update operation" size="2" start="23" type="Pixel Kill"/>
7087ec681f3Smrg    <field name="Point sprite coord origin max Y" size="1" start="27" type="bool"/>
7097ec681f3Smrg    <field name="Stencil from shader" size="1" start="28" type="bool"/>
7107ec681f3Smrg  </struct>
7117ec681f3Smrg
7127ec681f3Smrg  <struct name="Compute Preload" size="1" no-direct-packing="true">
7137ec681f3Smrg    <field name="PC" size="1" start="6" type="bool"/>
7147ec681f3Smrg    <field name="Local Invocation XY" size="1" start="7" type="bool"/>
7157ec681f3Smrg    <field name="Local Invocation Z" size="1" start="8" type="bool"/>
7167ec681f3Smrg    <field name="Work group X" size="1" start="9" type="bool"/>
7177ec681f3Smrg    <field name="Work group Y" size="1" start="10" type="bool"/>
7187ec681f3Smrg    <field name="Work group Z" size="1" start="11" type="bool"/>
7197ec681f3Smrg    <field name="Global Invocation X" size="1" start="12" type="bool"/>
7207ec681f3Smrg    <field name="Global Invocation Y" size="1" start="13" type="bool"/>
7217ec681f3Smrg    <field name="Global Invocation Z" size="1" start="14" type="bool"/>
7227ec681f3Smrg  </struct>
7237ec681f3Smrg
7247ec681f3Smrg  <enum name="Warp Limit">
7257ec681f3Smrg    <value name="None" value="0"/>
7267ec681f3Smrg    <value name="2" value="1"/>
7277ec681f3Smrg    <value name="4" value="2"/>
7287ec681f3Smrg    <value name="8" value="3"/>
7297ec681f3Smrg  </enum>
7307ec681f3Smrg
7317ec681f3Smrg  <struct name="Vertex Preload" size="1" no-direct-packing="true">
7327ec681f3Smrg    <field name="Warp limit" size="2" start="0" type="Warp Limit"/>
7337ec681f3Smrg    <field name="PC" size="1" start="6" type="bool"/>
7347ec681f3Smrg    <field name="Position result address lo" size="1" start="10" type="bool"/>
7357ec681f3Smrg    <field name="Position result address hi" size="1" start="11" type="bool"/>
7367ec681f3Smrg    <field name="Vertex ID" size="1" start="13" type="bool"/>
7377ec681f3Smrg    <field name="Instance ID" size="1" start="14" type="bool"/>
7387ec681f3Smrg  </struct>
7397ec681f3Smrg
7407ec681f3Smrg  <struct name="Fragment Preload" size="1" no-direct-packing="true">
7417ec681f3Smrg    <field name="PC" size="1" start="6" type="bool"/>
7427ec681f3Smrg    <field name="Coverage" size="1" start="7" type="bool"/>
7437ec681f3Smrg    <field name="Primitive ID" size="1" start="9" type="bool"/>
7447ec681f3Smrg    <field name="Primitive flags" size="1" start="10" type="bool"/>
7457ec681f3Smrg    <field name="Fragment position" size="1" start="11" type="bool"/>
7467ec681f3Smrg    <field name="Sample mask/ID" size="1" start="13" type="bool"/>
7477ec681f3Smrg  </struct>
7487ec681f3Smrg
7497ec681f3Smrg  <struct name="Preload" size="1">
7507ec681f3Smrg    <field name="Compute" size="32" start="0" type="Compute Preload"/>
7517ec681f3Smrg    <field name="Vertex" size="32" start="0" type="Vertex Preload"/>
7527ec681f3Smrg    <field name="Fragment" size="32" start="0" type="Fragment Preload"/>
7537ec681f3Smrg    <field name="Uniform count" size="7" start="15" type="uint"/>
7547ec681f3Smrg  </struct>
7557ec681f3Smrg
7567ec681f3Smrg  <struct name="Shader" size="4">
7577ec681f3Smrg    <field name="Shader" size="64" start="0:0" type="address"/>
7587ec681f3Smrg    <field name="Sampler count" size="16" start="2:0" type="uint"/>
7597ec681f3Smrg    <field name="Texture count" size="16" start="2:16" type="uint"/>
7607ec681f3Smrg    <field name="Attribute count" size="16" start="3:0" type="uint"/>
7617ec681f3Smrg    <field name="Varying count" size="16" start="3:16" type="uint"/>
7627ec681f3Smrg  </struct>
7637ec681f3Smrg
7647ec681f3Smrg  <struct name="Multisample, Misc" size="1">
7657ec681f3Smrg    <field name="Sample mask" size="16" start="0" type="uint"/>
7667ec681f3Smrg    <field name="Multisample enable" size="1" start="16" type="bool"/>
7677ec681f3Smrg    <field name="Multisample late coverage" size="1" start="17" type="bool"/>
7687ec681f3Smrg    <field name="Evaluate per-sample" size="1" start="18" type="bool"/>
7697ec681f3Smrg    <field name="Fixed-function depth range fixed" size="1" start="19" type="bool"/>
7707ec681f3Smrg    <field name="Shader depth range fixed" size="1" start="20" type="bool"/>
7717ec681f3Smrg    <field name="Overdraw alpha1" size="1" start="22" type="bool"/>
7727ec681f3Smrg    <field name="Overdraw alpha0" size="1" start="23" type="bool"/>
7737ec681f3Smrg    <field name="Depth function" size="3" start="24" type="Func"/>
7747ec681f3Smrg    <field name="Depth write mask" size="1" start="27" type="bool"/>
7757ec681f3Smrg    <field name="Fixed-function near discard" size="1" start="28" type="bool"/>
7767ec681f3Smrg    <field name="Fixed-function far discard" size="1" start="29" type="bool"/>
7777ec681f3Smrg    <field name="Fragment near discard" size="1" start="30" type="bool"/>
7787ec681f3Smrg    <field name="Fragment far discard" size="1" start="31" type="bool"/>
7797ec681f3Smrg  </struct>
7807ec681f3Smrg
7817ec681f3Smrg  <struct name="Stencil Mask, Misc" size="1">
7827ec681f3Smrg    <field name="Stencil mask front" size="8" start="0" type="uint"/>
7837ec681f3Smrg    <field name="Stencil mask back" size="8" start="8" type="uint"/>
7847ec681f3Smrg    <field name="Stencil enable" size="1" start="16" type="bool"/>
7857ec681f3Smrg    <field name="Alpha-to-coverage" size="1" start="17" type="bool"/>
7867ec681f3Smrg    <field name="Alpha-to-coverage Invert" size="1" start="18" type="bool"/>
7877ec681f3Smrg    <field name="Alpha test compare function" size="3" start="21" type="Func"/>
7887ec681f3Smrg    <field name="Force seamless cubemaps" size="1" start="26" type="bool"/>
7897ec681f3Smrg    <field name="Depth Range 1" size="1" start="28" type="bool"/>
7907ec681f3Smrg    <field name="Depth Range 2" size="1" start="29" type="bool"/>
7917ec681f3Smrg    <field name="Single-sampled lines" size="1" start="30" type="bool"/>
7927ec681f3Smrg    <field name="Point snap" size="1" start="31" type="bool"/>
7937ec681f3Smrg  </struct>
7947ec681f3Smrg
7957ec681f3Smrg  <struct name="Stencil">
7967ec681f3Smrg    <field name="Reference Value" size="8" start="0" type="uint"/>
7977ec681f3Smrg    <field name="Mask" size="8" start="8" type="uint"/>
7987ec681f3Smrg    <field name="Compare Function" size="3" start="16" type="Func"/>
7997ec681f3Smrg    <field name="Stencil Fail" size="3" start="19" type="Stencil Op"/>
8007ec681f3Smrg    <field name="Depth Fail" size="3" start="22" type="Stencil Op"/>
8017ec681f3Smrg    <field name="Depth Pass" size="3" start="25" type="Stencil Op"/>
8027ec681f3Smrg  </struct>
8037ec681f3Smrg
8047ec681f3Smrg  <struct name="LD_VAR Preload" size="1" no-direct-packing="true">
8057ec681f3Smrg    <field name="Varying Index" size="5" start="4" type="uint"/>
8067ec681f3Smrg    <field name="Register Format" size="2" start="9" type="Message Preload Register Format"/>
8077ec681f3Smrg    <field name="Num Components" size="2" start="11" type="uint" modifier="minus(1)" default="1"/>
8087ec681f3Smrg  </struct>
8097ec681f3Smrg
8107ec681f3Smrg  <struct name="VAR_TEX Preload" size="1" no-direct-packing="true">
8117ec681f3Smrg    <field name="Varying Index" size="3" start="4" type="uint"/>
8127ec681f3Smrg    <field name="Sampler Index" size="2" start="7" type="uint"/>
8137ec681f3Smrg    <field name="Register Format" size="2" start="9" type="Message Preload Register Format"/>
8147ec681f3Smrg    <field name="Skip" size="1" start="14" type="bool"/>
8157ec681f3Smrg    <field name="Zero LOD" size="1" start="15" type="bool"/>
8167ec681f3Smrg  </struct>
8177ec681f3Smrg
8187ec681f3Smrg  <struct name="Message Preload" size="1">
8197ec681f3Smrg    <field name="Type" size="4" start="0" type="Message Type"/>
8207ec681f3Smrg    <field name="LD_VAR" size="16" start="0" type="LD_VAR Preload"/>
8217ec681f3Smrg    <field name="VAR_TEX" size="16" start="0" type="VAR_TEX Preload"/>
8227ec681f3Smrg  </struct>
8237ec681f3Smrg
8247ec681f3Smrg  <struct name="Renderer State" align="64" size="16">
8257ec681f3Smrg    <field name="Shader" size="128" start="0:0" type="Shader"/>
8267ec681f3Smrg    <field name="Properties" size="32" start="4:0" type="Renderer Properties"/>
8277ec681f3Smrg    <field name="Depth units" size="32" start="5:0" type="float"/>
8287ec681f3Smrg    <field name="Depth factor" size="32" start="6:0" type="float"/>
8297ec681f3Smrg    <field name="Depth bias clamp" size="32" start="7:0" type="float"/>
8307ec681f3Smrg    <field name="Multisample, Misc" size="32" start="8:0" type="Multisample, Misc"/>
8317ec681f3Smrg    <field name="Stencil Mask, Misc" size="32" start="9:0" type="Stencil Mask, Misc"/>
8327ec681f3Smrg    <field name="Stencil front" size="32" start="10:0" type="Stencil"/>
8337ec681f3Smrg    <field name="Stencil back" size="32" start="11:0" type="Stencil"/>
8347ec681f3Smrg    <field name="Preload" size="32" start="12:0" type="Preload"/>
8357ec681f3Smrg    <field name="Alpha reference" size="32" start="12:0" type="float"/>
8367ec681f3Smrg    <field name="Thread Balancing" size="16" start="13:0" type="uint"/>
8377ec681f3Smrg    <field name="Secondary preload" size="32" start="13:0" type="Preload"/>
8387ec681f3Smrg    <field name="Secondary shader" size="64" start="14:0" type="address"/>
8397ec681f3Smrg  </struct>
8407ec681f3Smrg
8417ec681f3Smrg  <struct name="Uniform Buffer" align="8">
8427ec681f3Smrg    <field name="Entries" size="12" start="0" type="uint" modifier="minus(1)"/>
8437ec681f3Smrg    <field name="Pointer" size="52" start="12" type="address" modifier="shr(4)" element="16" count="Entries"/>
8447ec681f3Smrg  </struct>
8457ec681f3Smrg
8467ec681f3Smrg  <struct name="Viewport" align="32">
8477ec681f3Smrg    <field name="Minimum X" size="32" start="0:0" default="-INFINITY" type="float"/>
8487ec681f3Smrg    <field name="Minimum Y" size="32" start="1:0" default="-INFINITY" type="float"/>
8497ec681f3Smrg    <field name="Maximum X" size="32" start="2:0" default="+INFINITY" type="float"/>
8507ec681f3Smrg    <field name="Maximum Y" size="32" start="3:0" default="+INFINITY" type="float"/>
8517ec681f3Smrg    <field name="Minimum Z" size="32" start="4:0" default="0.0" type="float"/>
8527ec681f3Smrg    <field name="Maximum Z" size="32" start="5:0" default="1.0" type="float"/>
8537ec681f3Smrg    <field name="Scissor Minimum X" size="16" start="6:0" default="0" type="uint"/>
8547ec681f3Smrg    <field name="Scissor Minimum Y" size="16" start="6:16" default="0" type="uint"/>
8557ec681f3Smrg    <field name="Scissor Maximum X" size="16" start="7:0" type="uint"/>
8567ec681f3Smrg    <field name="Scissor Maximum Y" size="16" start="7:16" type="uint"/>
8577ec681f3Smrg  </struct>
8587ec681f3Smrg
8597ec681f3Smrg  <struct name="Local Storage" size="8" align="64">
8607ec681f3Smrg    <field name="TLS Size" size="5" start="0:0" type="uint"/>
8617ec681f3Smrg    <field name="TLS Initial Stack Pointer Offset" size="27" start="0:5" type="uint"/>
8627ec681f3Smrg    <field name="WLS Instances" size="5" start="1:0" type="uint" modifier="log2" prefix="MALI_LOCAL_STORAGE" default="MALI_LOCAL_STORAGE_NO_WORKGROUP_MEM">
8637ec681f3Smrg      <value name="No Workgroup Mem" value="0x80000000"/>
8647ec681f3Smrg    </field>
8657ec681f3Smrg    <field name="WLS Size Base" size="2" start="1:5" type="uint"/>
8667ec681f3Smrg    <field name="WLS Size Scale" size="5" start="1:8" type="uint"/>
8677ec681f3Smrg    <field name="TLS Base Pointer" size="64" start="2:0" type="address"/>
8687ec681f3Smrg    <field name="WLS Base Pointer" size="64" start="4:0" type="address"/>
8697ec681f3Smrg  </struct>
8707ec681f3Smrg
8717ec681f3Smrg  <enum name="Color Buffer Internal Format">
8727ec681f3Smrg    <value name="Raw Value" value="0"/>
8737ec681f3Smrg    <value name="R8G8B8A8" value="1"/>
8747ec681f3Smrg    <value name="R10G10B10A2" value="2"/>
8757ec681f3Smrg    <value name="R8G8B8A2" value="3"/>
8767ec681f3Smrg    <value name="R4G4B4A4" value="4"/>
8777ec681f3Smrg    <value name="R5G6B5A0" value="5"/>
8787ec681f3Smrg    <value name="R5G5B5A1" value="6"/>
8797ec681f3Smrg    <value name="RAW8" value="32"/>
8807ec681f3Smrg    <value name="RAW16" value="33"/>
8817ec681f3Smrg    <value name="RAW32" value="34"/>
8827ec681f3Smrg    <value name="RAW64" value="35"/>
8837ec681f3Smrg    <value name="RAW128" value="36"/>
8847ec681f3Smrg  </enum>
8857ec681f3Smrg
8867ec681f3Smrg  <enum name="Color Format">
8877ec681f3Smrg    <value name="RAW8" value="0"/>
8887ec681f3Smrg    <value name="RAW16" value="1"/>
8897ec681f3Smrg    <value name="RAW24" value="2"/>
8907ec681f3Smrg    <value name="RAW32" value="3"/>
8917ec681f3Smrg    <value name="RAW48" value="4"/>
8927ec681f3Smrg    <value name="RAW64" value="5"/>
8937ec681f3Smrg    <value name="RAW96" value="6"/>
8947ec681f3Smrg    <value name="RAW128" value="7"/>
8957ec681f3Smrg    <value name="RAW192" value="8"/>
8967ec681f3Smrg    <value name="RAW256" value="9"/>
8977ec681f3Smrg    <value name="RAW384" value="10"/>
8987ec681f3Smrg    <value name="RAW512" value="11"/>
8997ec681f3Smrg    <value name="RAW768" value="12"/>
9007ec681f3Smrg    <value name="RAW1024" value="13"/>
9017ec681f3Smrg    <value name="RAW1536" value="14"/>
9027ec681f3Smrg    <value name="RAW2048" value="15"/>
9037ec681f3Smrg    <value name="R8" value="16"/>
9047ec681f3Smrg    <value name="R8G8" value="17"/>
9057ec681f3Smrg    <value name="R8G8B8" value="18"/>
9067ec681f3Smrg    <value name="R8G8B8A8" value="19"/>
9077ec681f3Smrg    <value name="R4G4B4A4" value="20"/>
9087ec681f3Smrg    <value name="R5G6B5" value="21"/>
9097ec681f3Smrg    <value name="R8G8B8_FROM_R8G8B8A2" value="22"/>
9107ec681f3Smrg    <value name="R10G10B10A2" value="24"/>
9117ec681f3Smrg    <value name="A2B10G10R10" value="25"/>
9127ec681f3Smrg    <value name="R5G5B5A1" value="28"/>
9137ec681f3Smrg    <value name="A1B5G5R5" value="29"/>
9147ec681f3Smrg    <value name="NATIVE" value="31"/>
9157ec681f3Smrg  </enum>
9167ec681f3Smrg
9177ec681f3Smrg  <enum name="Downsampling Accumulation Mode">
9187ec681f3Smrg    <value name="Unsigned normalized integer" value="0"/>
9197ec681f3Smrg    <value name="Signed normalized integer" value="1"/>
9207ec681f3Smrg  </enum>
9217ec681f3Smrg
9227ec681f3Smrg  <enum name="Sample Layout">
9237ec681f3Smrg    <value name="Ordered 4x Grid" value="0"/>
9247ec681f3Smrg    <value name="Rotated 4x Grid" value="1"/>
9257ec681f3Smrg    <value name="D3D 8x Grid" value="2"/>
9267ec681f3Smrg    <value name="D3D 16x Grid" value="3"/>
9277ec681f3Smrg  </enum>
9287ec681f3Smrg
9297ec681f3Smrg  <enum name="ZS Format">
9307ec681f3Smrg    <value name="D16" value="1"/>
9317ec681f3Smrg    <value name="D24" value="2"/>
9327ec681f3Smrg    <value name="D24X8" value="4"/>
9337ec681f3Smrg    <value name="D24S8" value="5"/>
9347ec681f3Smrg    <value name="X8D24" value="6"/>
9357ec681f3Smrg    <value name="S8D24" value="7"/>
9367ec681f3Smrg    <value name="D32_X8X24" value="13"/>
9377ec681f3Smrg    <value name="D32" value="14"/>
9387ec681f3Smrg    <value name="D32_S8X24" value="15"/>
9397ec681f3Smrg  </enum>
9407ec681f3Smrg
9417ec681f3Smrg  <enum name="ZS Preload Format">
9427ec681f3Smrg    <value name="D32_S8X24" value="4"/>
9437ec681f3Smrg  </enum>
9447ec681f3Smrg
9457ec681f3Smrg  <enum name="S Format">
9467ec681f3Smrg    <value name="S8" value="1"/>
9477ec681f3Smrg    <value name="S8X8" value="2"/>
9487ec681f3Smrg    <value name="S8X24" value="3"/>
9497ec681f3Smrg    <value name="X24S8" value="4"/>
9507ec681f3Smrg    <value name="X8S8" value="5"/>
9517ec681f3Smrg    <value name="X32_S8X24" value="6"/>
9527ec681f3Smrg  </enum>
9537ec681f3Smrg
9547ec681f3Smrg  <enum name="Tie-Break Rule">
9557ec681f3Smrg    <value name="0_IN_180_OUT" value="0"/>
9567ec681f3Smrg    <value name="0_OUT_180_IN" value="1"/>
9577ec681f3Smrg    <value name="MINUS_180_IN_0_OUT" value="2"/>
9587ec681f3Smrg    <value name="MINUS_180_OUT_0_IN" value="3"/>
9597ec681f3Smrg    <value name="90_IN_270_OUT" value="4"/>
9607ec681f3Smrg    <value name="90_OUT_270_IN" value="5"/>
9617ec681f3Smrg    <value name="MINUS_90_IN_90_OUT" value="6"/>
9627ec681f3Smrg    <value name="MINUS_90_OUT_90_IN" value="7"/>
9637ec681f3Smrg  </enum>
9647ec681f3Smrg
9657ec681f3Smrg  <struct name="RT Buffer">
9667ec681f3Smrg    <field name="Base" size="64" start="0:0" type="address"/>
9677ec681f3Smrg    <field name="Row Stride" size="32" start="2:0" type="uint"/>
9687ec681f3Smrg    <field name="Surface Stride" size="32" start="3:0" type="uint"/>
9697ec681f3Smrg  </struct>
9707ec681f3Smrg
9717ec681f3Smrg  <enum name="Sample Pattern">
9727ec681f3Smrg    <value name="Single-sampled" value="0"/>
9737ec681f3Smrg    <value name="Ordered 4x Grid" value="1"/>
9747ec681f3Smrg    <value name="Rotated 4x Grid" value="2"/>
9757ec681f3Smrg    <value name="D3D 8x Grid" value="3"/>
9767ec681f3Smrg    <value name="D3D 16x Grid" value="4"/>
9777ec681f3Smrg  </enum>
9787ec681f3Smrg
9797ec681f3Smrg  <enum name="Z Internal Format">
9807ec681f3Smrg    <value name="D16" value="0"/>
9817ec681f3Smrg    <value name="D24" value="1"/>
9827ec681f3Smrg    <value name="D32" value="2"/>
9837ec681f3Smrg  </enum>
9847ec681f3Smrg
9857ec681f3Smrg  <enum name="FBD Tag">
9867ec681f3Smrg    <value name="IS_MFBD" value="1"/>
9877ec681f3Smrg    <value name="HAS_ZS_RT" value="2"/>
9887ec681f3Smrg    <value name="MASK" value="63"/>
9897ec681f3Smrg  </enum>
9907ec681f3Smrg
9917ec681f3Smrg  <enum name="Pre Post Frame Shader Mode">
9927ec681f3Smrg    <value name="Never" value="0"/>
9937ec681f3Smrg    <value name="Always" value="1"/>
9947ec681f3Smrg    <value name="Intersect" value="2"/>
9957ec681f3Smrg    <value name="Early ZS always" value="3"/>
9967ec681f3Smrg  </enum>
9977ec681f3Smrg
9987ec681f3Smrg  <struct name="Framebuffer Parameters">
9997ec681f3Smrg    <field name="Pre Frame 0" size="3" start="0:0" type="Pre Post Frame Shader Mode"/>
10007ec681f3Smrg    <field name="Pre Frame 1" size="3" start="0:3" type="Pre Post Frame Shader Mode"/>
10017ec681f3Smrg    <field name="Post Frame" size="3" start="0:6" type="Pre Post Frame Shader Mode"/>
10027ec681f3Smrg    <field name="Sample Locations" size="64" start="4:0" type="address"/>
10037ec681f3Smrg    <field name="Frame Shader DCDs" size="64" start="6:0" type="address"/>
10047ec681f3Smrg    <field name="Width" size="16" start="8:0" type="uint" modifier="minus(1)"/>
10057ec681f3Smrg    <field name="Height" size="16" start="8:16" type="uint" modifier="minus(1)"/>
10067ec681f3Smrg    <field name="Bound Min X" size="16" start="9:0" type="uint"/>
10077ec681f3Smrg    <field name="Bound Min Y" size="16" start="9:16" type="uint"/>
10087ec681f3Smrg    <field name="Bound Max X" size="16" start="10:0" type="uint"/>
10097ec681f3Smrg    <field name="Bound Max Y" size="16" start="10:16" type="uint"/>
10107ec681f3Smrg    <field name="Sample Count" size="3" start="11:0" type="uint" default="1" modifier="log2"/>
10117ec681f3Smrg    <field name="Sample Pattern" size="3" start="11:3" type="Sample Pattern"/>
10127ec681f3Smrg    <field name="Tie-Break Rule" size="3" start="11:6" type="Tie-Break Rule"/>
10137ec681f3Smrg    <field name="Effective Tile Size" size="4" start="11:9" type="uint" modifier="log2"/>
10147ec681f3Smrg    <field name="X Downsampling Scale" size="3" start="11:13" type="uint"/>
10157ec681f3Smrg    <field name="Y Downsampling Scale" size="3" start="11:16" type="uint"/>
10167ec681f3Smrg    <field name="Render Target Count" size="4" start="11:19" type="uint" modifier="minus(1)"/>
10177ec681f3Smrg    <field name="Color Buffer Allocation" size="8" start="11:24" type="uint" modifier="shr(10)"/>
10187ec681f3Smrg    <field name="S Clear" size="8" start="12:0" type="uint"/>
10197ec681f3Smrg    <field name="S Write Enable" size="1" start="12:8" type="bool"/>
10207ec681f3Smrg    <field name="S Preload Enable" size="1" start="12:9" type="bool"/>
10217ec681f3Smrg    <field name="S Unload Enable" size="1" start="12:10" type="bool"/>
10227ec681f3Smrg    <field name="Z Internal Format" size="2" start="12:16" type="Z Internal Format"/>
10237ec681f3Smrg    <field name="Z Write Enable" size="1" start="12:18" type="bool"/>
10247ec681f3Smrg    <field name="Z Preload Enable" size="1" start="12:19" type="bool"/>
10257ec681f3Smrg    <field name="Z Unload Enable" size="1" start="12:20" type="bool"/>
10267ec681f3Smrg    <field name="Has ZS CRC Extension" size="1" start="12:21" type="bool"/>
10277ec681f3Smrg    <field name="CRC Read Enable" size="1" start="12:30" type="bool"/>
10287ec681f3Smrg    <field name="CRC Write Enable" size="1" start="12:31" type="bool"/>
10297ec681f3Smrg    <field name="Z Clear" size="32" start="13:0" type="float"/>
10307ec681f3Smrg    <field name="Tiler" size="64" start="14:0" type="address"/>
10317ec681f3Smrg  </struct>
10327ec681f3Smrg
10337ec681f3Smrg  <struct name="ZS CRC Extension" align="64" size="16">
10347ec681f3Smrg    <field name="CRC Base" size="64" start="0:0" type="address"/>
10357ec681f3Smrg    <field name="CRC Row Stride" size="32" start="2:0" type="uint"/>
10367ec681f3Smrg    <field name="ZS Write Format" size="4" start="3:0" type="ZS Format"/>
10377ec681f3Smrg    <field name="ZS Block Format" size="2" start="3:4" type="Block Format"/>
10387ec681f3Smrg    <field name="ZS MSAA" size="2" start="3:6" default="Single" type="MSAA"/>
10397ec681f3Smrg    <field name="ZS Big Endian" size="1" start="3:8" type="bool"/>
10407ec681f3Smrg    <field name="ZS Clean Pixel Write Enable" size="1" start="3:10" type="bool"/>
10417ec681f3Smrg    <field name="S Write Format" size="4" start="3:16" type="S Format"/>
10427ec681f3Smrg    <field name="S Block Format" size="2" start="3:20" type="Block Format"/>
10437ec681f3Smrg    <field name="S MSAA" size="2" start="3:22" default="Single" type="MSAA"/>
10447ec681f3Smrg    <field name="ZS Writeback Base" size="64" start="4:0" type="address"/>
10457ec681f3Smrg    <field name="ZS Writeback Row Stride" size="32" start="6:0" type="uint"/>
10467ec681f3Smrg    <field name="ZS Writeback Surface Stride" size="32" start="7:0" type="uint"/>
10477ec681f3Smrg    <field name="S Writeback Base" size="64" start="8:0" type="address"/>
10487ec681f3Smrg    <field name="S Writeback Row Stride" size="32" start="10:0" type="uint"/>
10497ec681f3Smrg    <field name="S Writeback Surface Stride" size="32" start="11:0" type="uint"/>
10507ec681f3Smrg    <field name="ZS AFBC Header" size="64" start="4:0" type="address"/>
10517ec681f3Smrg    <field name="ZS AFBC Row Stride" size="13" start="6:0" type="uint"/>
10527ec681f3Smrg    <field name="ZS AFBC Body" size="64" start="8:0" type="address"/>
10537ec681f3Smrg  </struct>
10547ec681f3Smrg
10557ec681f3Smrg  <enum name="RT Endianness">
10567ec681f3Smrg    <value name="Little Endian" value="0"/>
10577ec681f3Smrg    <value name="Big Endian 2B" value="1"/>
10587ec681f3Smrg    <value name="Big Endian 4B" value="2"/>
10597ec681f3Smrg    <value name="Big Endian 8B" value="3"/>
10607ec681f3Smrg  </enum>
10617ec681f3Smrg
10627ec681f3Smrg  <enum name="YUV Conv K6">
10637ec681f3Smrg    <value name="0" value="0"/>
10647ec681f3Smrg    <value name="16" value="1"/>
10657ec681f3Smrg  </enum>
10667ec681f3Smrg
10677ec681f3Smrg  <enum name="YUV Conv K7 Clamp">
10687ec681f3Smrg    <value name="MINUS_128_TO_127" value="0"/>
10697ec681f3Smrg    <value name="MINUS_112_TO_111" value="1"/>
10707ec681f3Smrg    <value name="0_TO_255" value="2"/>
10717ec681f3Smrg    <value name="16_TO_239" value="3"/>
10727ec681f3Smrg  </enum>
10737ec681f3Smrg
10747ec681f3Smrg  <enum name="YUV Conv K8">
10757ec681f3Smrg    <value name="220" value="0"/>
10767ec681f3Smrg    <value name="256" value="1"/>
10777ec681f3Smrg  </enum>
10787ec681f3Smrg
10797ec681f3Smrg  <struct name="Render Target YUV Overlay" size="16">
10807ec681f3Smrg    <field name="Swizzle" size="3" start="2:16" type="YUV Swizzle"/>
10817ec681f3Smrg    <field name="Full Range" size="1" start="2:20" type="bool"/>
10827ec681f3Smrg    <field name="Conversion Mode" size="4" start="2:21" type="YUV Conversion Mode"/>
10837ec681f3Smrg    <field name="Cr Siting" size="3" start="2:25" type="YUV Cr Siting"/>
10847ec681f3Smrg    <field name="Unsigned Cr Range" size="1" start="2:28" type="bool"/>
10857ec681f3Smrg    <field name="Plane 0 Base" size="64" start="4:0" type="address"/>
10867ec681f3Smrg    <field name="Plane 1 Base" size="64" start="6:0" type="address"/>
10877ec681f3Smrg    <field name="Plane 2 Base" size="64" start="8:0" type="address"/>
10887ec681f3Smrg    <field name="Plane 0 Stride" size="32" start="10:0" type="uint"/>
10897ec681f3Smrg    <field name="Plane 1 2 Stride" size="32" start="11:0" type="uint"/>
10907ec681f3Smrg  </struct>
10917ec681f3Smrg
10927ec681f3Smrg  <struct name="Render Target AFBC Overlay" size="16">
10937ec681f3Smrg    <field name="Header" size="64" start="4:0" type="address"/>
10947ec681f3Smrg    <field name="Row Stride" size="13" start="6:0" type="uint"/>
10957ec681f3Smrg    <field name="Chunk Size" size="12" start="7:0" type="uint"/>
10967ec681f3Smrg    <field name="AFBC Split Block Enable" size="1" start="7:18" type="bool"/>
10977ec681f3Smrg    <field name="AFBC Wide Block Enable" size="1" start="7:19" type="bool"/>
10987ec681f3Smrg
10997ec681f3Smrg    <!-- Flag in v7 to effectively disable AFBC as a race condition workaround
11007ec681f3Smrg    when in-place rendering is used with the AFBC block size differing
11017ec681f3Smrg    from the effective tile size (XXX: does v6 need a different workaround?) -->
11027ec681f3Smrg    <field name="Reverse Issue Order" size="1" start="7:20" type="bool"/>
11037ec681f3Smrg    <field name="YUV Transform Enable" size="1" start="7:17" type="bool"/>
11047ec681f3Smrg    <field name="Body" size="64" start="8:0" type="address"/>
11057ec681f3Smrg    <field name="Body Size" size="32" start="10:0" type="uint"/>
11067ec681f3Smrg  </struct>
11077ec681f3Smrg
11087ec681f3Smrg  <struct name="RT Clear">
11097ec681f3Smrg    <field name="Color 0" size="32" start="0:0" type="uint"/>
11107ec681f3Smrg    <field name="Color 1" size="32" start="1:0" type="uint"/>
11117ec681f3Smrg    <field name="Color 2" size="32" start="2:0" type="uint"/>
11127ec681f3Smrg    <field name="Color 3" size="32" start="3:0" type="uint"/>
11137ec681f3Smrg  </struct>
11147ec681f3Smrg
11157ec681f3Smrg  <struct name="Render Target" align="64">
11167ec681f3Smrg    <field name="YUV" size="512" start="0:0" type="Render Target YUV Overlay"/>
11177ec681f3Smrg    <field name="AFBC" size="512" start="0:0" type="Render Target AFBC Overlay"/>
11187ec681f3Smrg    <field name="Internal Buffer Offset" size="12" start="0:4" type="uint" modifier="shr(4)"/>
11197ec681f3Smrg    <field name="YUV Enable" size="1" start="0:24" type="bool"/>
11207ec681f3Smrg    <field name="Dithered Clear" size="1" start="0:25" type="bool"/>
11217ec681f3Smrg    <field name="Internal Format" size="6" start="0:26" type="Color Buffer Internal Format"/>
11227ec681f3Smrg    <field name="Write Enable" size="1" start="1:0" type="bool"/>
11237ec681f3Smrg    <field name="Writeback Format" size="5" start="1:3" type="Color Format"/>
11247ec681f3Smrg    <field name="Writeback Endianness" size="2" start="1:8" type="RT Endianness"/>
11257ec681f3Smrg    <field name="Writeback Block Format" size="2" start="1:10" type="Block Format"/>
11267ec681f3Smrg    <field name="Writeback MSAA" size="2" start="1:12" type="MSAA"/>
11277ec681f3Smrg    <field name="sRGB" size="1" start="1:14" type="bool"/>
11287ec681f3Smrg    <field name="Dithering Enable" size="1" start="1:15" type="bool"/>
11297ec681f3Smrg    <field name="Swizzle" size="12" start="1:16" type="uint"/>
11307ec681f3Smrg    <field name="Clean Pixel Write Enable" size="1" start="1:31" type="bool"/>
11317ec681f3Smrg    <field name="RGB" size="128" start="8:0" type="RT Buffer"/>
11327ec681f3Smrg    <field name="Clear" size="128" start="12:0" type="RT Clear"/>
11337ec681f3Smrg  </struct>
11347ec681f3Smrg
11357ec681f3Smrg  <struct name="Tiler Heap" align="64">
11367ec681f3Smrg    <field name="Size" size="32" start="1:0" type="uint" modifier="align(4096)"/>
11377ec681f3Smrg    <field name="Base" size="64" start="2:0" type="address"/>
11387ec681f3Smrg    <field name="Bottom" size="64" start="4:0" type="address"/>
11397ec681f3Smrg    <field name="Top" size="64" start="6:0" type="address"/>
11407ec681f3Smrg  </struct>
11417ec681f3Smrg
11427ec681f3Smrg  <struct name="Tiler Weights" size="8">
11437ec681f3Smrg    <field name="Weight0" size="16" start="0:16" type="uint"/>
11447ec681f3Smrg    <field name="Weight1" size="16" start="1:16" type="uint"/>
11457ec681f3Smrg    <field name="Weight2" size="16" start="2:16" type="uint"/>
11467ec681f3Smrg    <field name="Weight3" size="16" start="3:16" type="uint"/>
11477ec681f3Smrg    <field name="Weight4" size="16" start="4:16" type="uint"/>
11487ec681f3Smrg    <field name="Weight5" size="16" start="5:16" type="uint"/>
11497ec681f3Smrg    <field name="Weight6" size="16" start="6:16" type="uint"/>
11507ec681f3Smrg    <field name="Weight7" size="16" start="7:16" type="uint"/>
11517ec681f3Smrg  </struct>
11527ec681f3Smrg
11537ec681f3Smrg  <struct name="Tiler State" size="16">
11547ec681f3Smrg    <field name="Word0" size="32" start="0:0" type="uint"/>
11557ec681f3Smrg    <field name="Word1" size="32" start="1:0" type="uint"/>
11567ec681f3Smrg    <field name="Word2" size="32" start="2:0" type="uint"/>
11577ec681f3Smrg    <field name="Word3" size="32" start="3:0" type="uint"/>
11587ec681f3Smrg    <field name="Word4" size="32" start="4:0" type="uint"/>
11597ec681f3Smrg    <field name="Word5" size="32" start="5:0" type="uint"/>
11607ec681f3Smrg    <field name="Word6" size="32" start="6:0" type="uint"/>
11617ec681f3Smrg    <field name="Word7" size="32" start="7:0" type="uint"/>
11627ec681f3Smrg    <field name="Word8" size="32" start="8:0" type="uint"/>
11637ec681f3Smrg    <field name="Word9" size="32" start="9:0" type="uint"/>
11647ec681f3Smrg    <field name="Word10" size="32" start="10:0" type="uint"/>
11657ec681f3Smrg    <field name="Word11" size="32" start="11:0" type="uint"/>
11667ec681f3Smrg    <field name="Word12" size="32" start="12:0" type="uint"/>
11677ec681f3Smrg    <field name="Word13" size="32" start="13:0" type="uint"/>
11687ec681f3Smrg    <field name="Word14" size="32" start="14:0" type="uint"/>
11697ec681f3Smrg    <field name="Word15" size="32" start="15:0" type="uint"/>
11707ec681f3Smrg  </struct>
11717ec681f3Smrg
11727ec681f3Smrg  <struct name="Tiler Context" size="48" align="64">
11737ec681f3Smrg    <field name="Polygon List" size="64" start="0:0" type="address"/>
11747ec681f3Smrg    <field name="Hierarchy Mask" size="13" start="2:0" type="uint"/>
11757ec681f3Smrg    <field name="Sample Pattern" size="3" start="2:13" type="Sample Pattern"/>
11767ec681f3Smrg    <field name="Update Cost Table" size="1" start="2:16" type="bool"/>
11777ec681f3Smrg    <field name="FB Width" size="16" start="3:0" type="uint" modifier="minus(1)"/>
11787ec681f3Smrg    <field name="FB Height" size="16" start="3:16" type="uint" modifier="minus(1)"/>
11797ec681f3Smrg    <field name="Heap" size="64" start="6:0" type="address"/>
11807ec681f3Smrg    <field name="Weights" size="256" start="8:0" type="Tiler Weights"/>
11817ec681f3Smrg    <field name="State" size="512" start="32:0" type="Tiler State"/>
11827ec681f3Smrg  </struct>
11837ec681f3Smrg
11847ec681f3Smrg  <struct name="Framebuffer Padding" size="16">
11857ec681f3Smrg  </struct>
11867ec681f3Smrg
11877ec681f3Smrg  <aggregate name="Framebuffer" align="64">
11887ec681f3Smrg    <section name="Parameters" offset="0" type="Framebuffer Parameters"/>
11897ec681f3Smrg    <section name="Padding" offset="64" type="Framebuffer Padding"/>
11907ec681f3Smrg  </aggregate>
11917ec681f3Smrg
11927ec681f3Smrg  <struct name="Job Header" align="64">
11937ec681f3Smrg    <field name="Exception Status" size="32" start="0:0" type="uint"/>
11947ec681f3Smrg    <field name="First Incomplete Task" size="32" start="1:0" type="uint"/>
11957ec681f3Smrg    <field name="Fault Pointer" size="64" start="2:0" type="address"/>
11967ec681f3Smrg    <field name="Is 64b" size="1" start="4:0" type="bool" default="true"/>
11977ec681f3Smrg    <field name="Type" size="7" start="4:1" type="Job Type"/>
11987ec681f3Smrg    <field name="Barrier" size="1" start="4:8" type="bool"/>
11997ec681f3Smrg    <field name="Invalidate Cache" size="1" start="4:9" type="bool"/>
12007ec681f3Smrg    <field name="Suppress Prefetch" size="1" start="4:11" type="bool"/>
12017ec681f3Smrg    <field name="Enable Texture Mapper" size="1" start="4:12" type="bool"/>
12027ec681f3Smrg    <field name="Relax Dependency 1" size="1" start="4:14" type="bool"/>
12037ec681f3Smrg    <field name="Relax Dependency 2" size="1" start="4:15" type="bool"/>
12047ec681f3Smrg    <field name="Index" size="16" start="4:16" type="uint"/>
12057ec681f3Smrg    <field name="Dependency 1" size="16" start="5:0" type="uint"/>
12067ec681f3Smrg    <field name="Dependency 2" size="16" start="5:16" type="uint"/>
12077ec681f3Smrg    <field name="Next" size="64" start="6:0" type="address"/>
12087ec681f3Smrg  </struct>
12097ec681f3Smrg
12107ec681f3Smrg  <struct name="Fragment Job Payload" size="8">
12117ec681f3Smrg    <field name="Bound Min X" size="12" start="0:0" type="uint"/>
12127ec681f3Smrg    <field name="Bound Min Y" size="12" start="0:16" type="uint"/>
12137ec681f3Smrg    <field name="Bound Max X" size="12" start="1:0" type="uint"/>
12147ec681f3Smrg    <field name="Bound Max Y" size="12" start="1:16" type="uint"/>
12157ec681f3Smrg    <field name="Has Tile Enable Map" size="1" start="1:31" type="bool"/>
12167ec681f3Smrg    <field name="Framebuffer" size="64" start="2:0" type="address"/>
12177ec681f3Smrg    <field name="Tile Enable Map" size="64" start="4:0" type="address"/>
12187ec681f3Smrg    <field name="Tile Enable Map Row Stride" size="8" start="6:0" type="uint"/>
12197ec681f3Smrg  </struct>
12207ec681f3Smrg
12217ec681f3Smrg  <aggregate name="Fragment Job" align="64">
12227ec681f3Smrg    <section name="Header" offset="0" type="Job Header"/>
12237ec681f3Smrg    <section name="Payload" offset="32" type="Fragment Job Payload"/>
12247ec681f3Smrg  </aggregate>
12257ec681f3Smrg
12267ec681f3Smrg  <enum name="Write Value Type">
12277ec681f3Smrg    <value name="Cycle Counter" value="1"/>
12287ec681f3Smrg    <value name="System Timestamp" value="2"/>
12297ec681f3Smrg    <value name="Zero" value="3"/>
12307ec681f3Smrg    <value name="Immediate 8" value="4"/>
12317ec681f3Smrg    <value name="Immediate 16" value="5"/>
12327ec681f3Smrg    <value name="Immediate 32" value="6"/>
12337ec681f3Smrg    <value name="Immediate 64" value="7"/>
12347ec681f3Smrg  </enum>
12357ec681f3Smrg
12367ec681f3Smrg  <struct name="Write Value Job Payload">
12377ec681f3Smrg    <field name="Address" size="64" start="0:0" type="address"/>
12387ec681f3Smrg    <field name="Type" size="32" start="2:0" type="Write Value Type"/>
12397ec681f3Smrg    <field name="Immediate Value" size="64" start="4:0" type="uint"/>
12407ec681f3Smrg  </struct>
12417ec681f3Smrg
12427ec681f3Smrg  <struct name="Cache Flush Job Payload" size="2">
12437ec681f3Smrg    <field name="Clean Shader Core LS" size="1" start="0:0" type="bool"/>
12447ec681f3Smrg    <field name="Invalidate Shader Core LS" size="1" start="0:1" type="bool"/>
12457ec681f3Smrg    <field name="Invalidate Shader Core Other" size="1" start="0:2" type="bool"/>
12467ec681f3Smrg    <field name="Job Manager Clean" size="1" start="0:16" type="bool"/>
12477ec681f3Smrg    <field name="Job Manager Invalidate" size="1" start="0:17" type="bool"/>
12487ec681f3Smrg    <field name="Tiler Clean" size="1" start="0:24" type="bool"/>
12497ec681f3Smrg    <field name="Tiler Invalidate" size="1" start="0:25" type="bool"/>
12507ec681f3Smrg    <field name="L2 Clean" size="1" start="1:0" type="bool"/>
12517ec681f3Smrg    <field name="L2 Invalidate" size="1" start="1:1" type="bool"/>
12527ec681f3Smrg  </struct>
12537ec681f3Smrg
12547ec681f3Smrg  <aggregate name="Write Value Job" align="64">
12557ec681f3Smrg    <section name="Header" offset="0" type="Job Header"/>
12567ec681f3Smrg    <section name="Payload" offset="32" type="Write Value Job Payload"/>
12577ec681f3Smrg  </aggregate>
12587ec681f3Smrg
12597ec681f3Smrg  <aggregate name="Cache Flush Job" align="64">
12607ec681f3Smrg    <section name="Header" offset="0" type="Job Header"/>
12617ec681f3Smrg    <section name="Payload" offset="32" type="Cache Flush Job Payload"/>
12627ec681f3Smrg  </aggregate>
12637ec681f3Smrg
12647ec681f3Smrg  <struct name="Compute Job Parameters" size="6">
12657ec681f3Smrg    <field name="Job Task Split" size="4" start="0:26" type="uint"/>
12667ec681f3Smrg  </struct>
12677ec681f3Smrg
12687ec681f3Smrg  <!-- Compute job also covers vertex and geometry operations -->
12697ec681f3Smrg  <aggregate name="Compute Job" align="64">
12707ec681f3Smrg    <section name="Header" offset="0" type="Job Header"/>
12717ec681f3Smrg    <section name="Invocation" offset="32" type="Invocation"/>
12727ec681f3Smrg    <section name="Parameters" offset="40" type="Compute Job Parameters"/>
12737ec681f3Smrg    <section name="Draw" offset="64" type="Draw"/>
12747ec681f3Smrg  </aggregate>
12757ec681f3Smrg
12767ec681f3Smrg  <struct name="Primitive Size">
12777ec681f3Smrg    <field name="Constant" size="32" start="0:0" type="float"/>
12787ec681f3Smrg    <field name="Size Array" size="64" start="0:0" type="uint"/>
12797ec681f3Smrg  </struct>
12807ec681f3Smrg
12817ec681f3Smrg  <struct name="Tiler Pointer">
12827ec681f3Smrg    <field name="Address" size="64" start="0:0" type="address"/>
12837ec681f3Smrg  </struct>
12847ec681f3Smrg
12857ec681f3Smrg  <struct name="Tiler Job Padding" size="12">
12867ec681f3Smrg  </struct>
12877ec681f3Smrg
12887ec681f3Smrg  <aggregate name="Tiler Job" size="256" align="64">
12897ec681f3Smrg    <section name="Header" offset="0" type="Job Header"/>
12907ec681f3Smrg    <section name="Invocation" offset="32" type="Invocation"/>
12917ec681f3Smrg    <section name="Primitive" offset="40" type="Primitive"/>
12927ec681f3Smrg    <section name="Primitive Size" offset="64" type="Primitive Size"/>
12937ec681f3Smrg    <section name="Tiler" offset="72" type="Tiler Pointer"/>
12947ec681f3Smrg    <section name="Padding" offset="80" type="Tiler Job Padding"/>
12957ec681f3Smrg    <section name="Draw" offset="128" type="Draw"/>
12967ec681f3Smrg  </aggregate>
12977ec681f3Smrg
12987ec681f3Smrg  <aggregate name="Indexed Vertex Job" size="384" align="64">
12997ec681f3Smrg    <section name="Header" offset="0" type="Job Header"/>
13007ec681f3Smrg    <section name="Invocation" offset="32" type="Invocation"/>
13017ec681f3Smrg    <section name="Primitive" offset="40" type="Primitive"/>
13027ec681f3Smrg    <section name="Primitive Size" offset="64" type="Primitive Size"/>
13037ec681f3Smrg    <section name="Tiler" offset="72" type="Tiler Pointer"/>
13047ec681f3Smrg    <section name="Padding" offset="80" type="Tiler Job Padding"/>
13057ec681f3Smrg    <section name="Fragment Draw" offset="128" type="Draw"/>
13067ec681f3Smrg    <section name="Vertex Draw" offset="256" type="Draw"/>
13077ec681f3Smrg  </aggregate>
13087ec681f3Smrg</panxml>
1309