1<panxml arch="4"> 2 <enum name="Attribute Type"> 3 <value name="1D" value="1"/> 4 <value name="1D POT Divisor" value="2"/> 5 <value name="1D Modulus" value="3"/> 6 <value name="1D NPOT Divisor" value="4"/> 7 <value name="3D Linear" value="5"/> 8 <value name="3D Interleaved" value="6"/> 9 <value name="1D Primitive Index Buffer" value="7"/> 10 <value name="1D POT Divisor Write Reduction" value="10"/> 11 <value name="1D Modulus Write Reduction" value="11"/> 12 <value name="1D NPOT Divisor Write Reduction" value="12"/> 13 <value name="Continuation" value="32"/> 14 </enum> 15 16 <enum name="Attribute Special"> 17 <value name="Vertex ID" value="34"/> 18 <value name="Instance ID" value="36"/> 19 <value name="Frag Coord" value="37"/> 20 <value name="Front Facing" value="38"/> 21 <value name="Point Coord" value="97"/> 22 </enum> 23 24 <enum name="Channel"> 25 <value name="R" value="0"/> 26 <value name="G" value="1"/> 27 <value name="B" value="2"/> 28 <value name="A" value="3"/> 29 <value name="0" value="4"/> 30 <value name="1" value="5"/> 31 </enum> 32 33 <enum name="Depth Source"> 34 <value name="Minimum" value="0"/> 35 <value name="Maximum" value="1"/> 36 <value name="Fixed function" value="2"/> 37 <value name="Shader" value="3"/> 38 </enum> 39 40 <enum name="Job Type"> 41 <value name="Not started" value="0"/> 42 <value name="Null" value="1"/> 43 <value name="Write value" value="2"/> 44 <value name="Cache flush" value="3"/> 45 <value name="Compute" value="4"/> 46 <value name="Vertex" value="5"/> 47 <value name="Geometry" value="6"/> 48 <value name="Tiler" value="7"/> 49 <value name="Fused" value="8"/> 50 <value name="Fragment" value="9"/> 51 </enum> 52 53 <enum name="Draw Mode"> 54 <value name="Points" value="1"/> 55 <value name="Lines" value="2"/> 56 <value name="Lines with adjacency" value="3"/> 57 <value name="Line strip" value="4"/> 58 <value name="Line strip with adjacency" value="5"/> 59 <value name="Line loop" value="6"/> 60 <value name="Triangles" value="8"/> 61 <value name="Triangles with adjacency" value="9"/> 62 <value name="Triangle strip" value="10"/> 63 <value name="Triangle strip with adjacency" value="11"/> 64 <value name="Triangle fan" value="12"/> 65 <value name="Polygon" value="13"/> 66 <value name="Quads" value="14"/> 67 <value name="Quad strip" value="15"/> 68 <value name="Parallelogram" value="16"/> 69 </enum> 70 71 <enum name="Exception Access"> 72 <value name="None" value="0"/> 73 <value name="Execute" value="2"/> 74 <value name="Read" value="1"/> 75 <value name="Write" value="3"/> 76 </enum> 77 78 <enum name="Func"> 79 <value name="Never" value="0"/> 80 <value name="Less" value="1"/> 81 <value name="Equal" value="2"/> 82 <value name="Lequal" value="3"/> 83 <value name="Greater" value="4"/> 84 <value name="Not Equal" value="5"/> 85 <value name="Gequal" value="6"/> 86 <value name="Always" value="7"/> 87 </enum> 88 89 <enum name="Format"> 90 <value name="ETC2 RGB8" value="1"/> 91 <value name="ETC2 R11 UNORM" value="2"/> 92 <value name="ETC2 RGBA8" value="3"/> 93 <value name="ETC2 RG11 UNORM" value="4"/> 94 <!--- 5 reserved *--> 95 <value name="NXR" value="6"/> 96 <value name="BC1 UNORM" value="7"/> 97 <value name="BC2 UNORM" value="8"/> 98 <value name="BC3 UNORM" value="9"/> 99 <value name="BC4 UNORM" value="10"/> 100 <value name="BC4 SNORM" value="11"/> 101 <value name="BC5 UNORM" value="12"/> 102 <value name="BC5 SNORM" value="13"/> 103 <value name="BC6H UF16" value="14"/> 104 <value name="BC6H SF16" value="15"/> 105 <value name="BC7 UNORM" value="16"/> 106 <value name="ETC2 R11 SNORM" value="17"/> 107 <value name="ETC2 RG11 SNORM" value="18"/> 108 <value name="ETC2 RGB8A1" value="19"/> 109 <!--- 20-31 reserved *--> 110 <value name="RGB565" value="64"/> 111 <value name="RGB5 A1 UNORM" value="65"/> 112 <value name="A1 BGR5 UNORM" value="66"/> 113 <value name="RGB10 A2 UNORM" value="67"/> 114 <value name="A2 BGR10 UNORM" value="68"/> 115 <value name="RGB10 A2 SNORM" value="69"/> 116 <value name="A2 BGR10 SNORM" value="70"/> 117 <value name="RGB10 A2UI" value="71"/> 118 <value name="A2 BGR10UI" value="72"/> 119 <value name="RGB10 A2I" value="73"/> 120 <value name="A2 BGR10I" value="74"/> 121 <value name="RGB332 UNORM" value="75"/> 122 <value name="BGR233 UNORM" value="76"/> 123 <value name="Z24X8 UNORM" value="77"/> 124 <value name="X8Z24" value="78"/> 125 <value name="X32 S8X24" value="79"/> 126 <value name="X24S8 X32" value="80"/> 127 <value name="R32 FIXED" value="81"/> 128 <value name="RG32 FIXED" value="82"/> 129 <value name="RGB32 FIXED" value="83"/> 130 <value name="RGBA32 FIXED" value="84"/> 131 <value name="Tilebuffer Native" value="85"/> 132 <!--- 86-88 reserved *--> 133 <value name="R11F G11F B10F" value="89"/> 134 <value name="B10F G11F R11F" value="90"/> 135 <value name="R9F G9F B9F E5F" value="91"/> 136 <value name="E5F B9F G9F R9F" value="92"/> 137 <value name="Snap 2" value="93"/> 138 <!--- RGBA32F + snap to 2^-8, used for vertex writes --> 139 <value name="Snap 4" value="94"/> 140 <value name="Constant" value="95"/> 141 <value name="R1 SNORM" value="96"/> 142 <value name="R2 SNORM" value="97"/> 143 <value name="R4 SNORM" value="98"/> 144 <value name="R8 SNORM" value="99"/> 145 <value name="R16 SNORM" value="100"/> 146 <value name="R32 SNORM" value="101"/> 147 <value name="R64 SNORM" value="102"/> 148 <!--- 103 reserved --> 149 <value name="RG1 SNORM" value="104"/> 150 <value name="RG2 SNORM" value="105"/> 151 <value name="RG4 SNORM" value="106"/> 152 <value name="RG8 SNORM" value="107"/> 153 <value name="RG16 SNORM" value="108"/> 154 <value name="RG32 SNORM" value="109"/> 155 <value name="RG64 SNORM" value="110"/> 156 <!-- 111 reserved --> 157 <value name="RGB1 SNORM" value="112"/> 158 <value name="RGB2 SNORM" value="113"/> 159 <value name="RGB4 SNORM" value="114"/> 160 <value name="RGB8 SNORM" value="115"/> 161 <value name="RGB16 SNORM" value="116"/> 162 <value name="RGB32 SNORM" value="117"/> 163 <value name="RGB64 SNORM" value="118"/> 164 <!-- 119 reserved --> 165 <value name="RGBA1 SNORM" value="120"/> 166 <value name="RGBA2 SNORM" value="121"/> 167 <value name="RGBA4 SNORM" value="122"/> 168 <value name="RGBA8 SNORM" value="123"/> 169 <value name="RGBA16 SNORM" value="124"/> 170 <value name="RGBA32 SNORM" value="125"/> 171 <value name="RGBA64 SNORM" value="126"/> 172 <!-- 127 reserved --> 173 <value name="R1UI" value="128"/> 174 <value name="R2UI" value="129"/> 175 <value name="R4UI" value="130"/> 176 <value name="R8UI" value="131"/> 177 <value name="R16UI" value="132"/> 178 <value name="R32UI" value="133"/> 179 <value name="R64UI" value="134"/> 180 <value name="R64F" value="135"/> 181 <value name="RG1UI" value="136"/> 182 <value name="RG2UI" value="137"/> 183 <value name="RG4UI" value="138"/> 184 <value name="RG8UI" value="139"/> 185 <value name="RG16UI" value="140"/> 186 <value name="RG32UI" value="141"/> 187 <value name="RG64UI" value="142"/> 188 <value name="RG64F" value="143"/> 189 <value name="RGB1UI" value="144"/> 190 <value name="RGB2UI" value="145"/> 191 <value name="RGB4UI" value="146"/> 192 <value name="RGB8UI" value="147"/> 193 <value name="RGB16UI" value="148"/> 194 <value name="RGB32UI" value="149"/> 195 <value name="RGB64UI" value="150"/> 196 <value name="RGB64F" value="151"/> 197 <value name="RGBA1UI" value="152"/> 198 <value name="RGBA2UI" value="153"/> 199 <value name="RGBA4UI" value="154"/> 200 <value name="RGBA8UI" value="155"/> 201 <value name="RGBA16UI" value="156"/> 202 <value name="RGBA32UI" value="157"/> 203 <value name="RGBA64UI" value="158"/> 204 <value name="RGBA64F" value="159"/> 205 <value name="R1 UNORM" value="160"/> 206 <value name="R2 UNORM" value="161"/> 207 <value name="R4 UNORM" value="162"/> 208 <value name="R8 UNORM" value="163"/> 209 <value name="R16 UNORM" value="164"/> 210 <value name="R32 UNORM" value="165"/> 211 <value name="R64 UNORM" value="166"/> 212 <value name="R32F" value="167"/> 213 <value name="RG1 UNORM" value="168"/> 214 <value name="RG2 UNORM" value="169"/> 215 <value name="RG4 UNORM" value="170"/> 216 <value name="RG8 UNORM" value="171"/> 217 <value name="RG16 UNORM" value="172"/> 218 <value name="RG32 UNORM" value="173"/> 219 <value name="RG64 UNORM" value="174"/> 220 <value name="RG32F" value="175"/> 221 <value name="RGB1 UNORM" value="176"/> 222 <value name="RGB2 UNORM" value="177"/> 223 <value name="RGB4 UNORM" value="178"/> 224 <value name="RGB8 UNORM" value="179"/> 225 <value name="RGB16 UNORM" value="180"/> 226 <value name="RGB32 UNORM" value="181"/> 227 <value name="RGB64 UNORM" value="182"/> 228 <value name="RGB32F" value="183"/> 229 <value name="RGBA1 UNORM" value="184"/> 230 <value name="RGBA2 UNORM" value="185"/> 231 <value name="RGBA4 UNORM" value="186"/> 232 <value name="RGBA8 UNORM" value="187"/> 233 <value name="RGBA16 UNORM" value="188"/> 234 <value name="RGBA32 UNORM" value="189"/> 235 <value name="RGBA64 UNORM" value="190"/> 236 <value name="RGBA32F" value="191"/> 237 <value name="R1I" value="192"/> 238 <value name="R2I" value="193"/> 239 <value name="R4I" value="194"/> 240 <value name="R8I" value="195"/> 241 <value name="R16I" value="196"/> 242 <value name="R32I" value="197"/> 243 <value name="R64I" value="198"/> 244 <value name="R16F" value="199"/> 245 <value name="RG1I" value="200"/> 246 <value name="RG2I" value="201"/> 247 <value name="RG4I" value="202"/> 248 <value name="RG8I" value="203"/> 249 <value name="RG16I" value="204"/> 250 <value name="RG32I" value="205"/> 251 <value name="RG64I" value="206"/> 252 <value name="RG16F" value="207"/> 253 <value name="RGB1I" value="208"/> 254 <value name="RGB2I" value="209"/> 255 <value name="RGB4I" value="210"/> 256 <value name="RGB8I" value="211"/> 257 <value name="RGB16I" value="212"/> 258 <value name="RGB32I" value="213"/> 259 <value name="RGB64I" value="214"/> 260 <value name="RGB16F" value="215"/> 261 <value name="RGBA1I" value="216"/> 262 <value name="RGBA2I" value="217"/> 263 <value name="RGBA4I" value="218"/> 264 <value name="RGBA8I" value="219"/> 265 <value name="RGBA16I" value="220"/> 266 <value name="RGBA32I" value="221"/> 267 <value name="RGBA64I" value="222"/> 268 <value name="RGBA16F" value="223"/> 269 </enum> 270 271 <enum name="YUV Swizzle"> 272 <value name="YUVA" value="0"/> 273 <value name="YVUA" value="1"/> 274 <value name="UYVA" value="2"/> 275 <value name="UVYA" value="3"/> 276 <value name="VUYA" value="4"/> 277 <value name="VYUA" value="5"/> 278 <value name="Y00A" value="6"/> 279 <value name="YXXA" value="7"/> 280 </enum> 281 282 <enum name="YUV Conversion Mode"> 283 <value name="No Conversion" value="0"/> 284 <value name="BT 601" value="3"/> 285 <value name="BT 709" value="4"/> 286 <value name="BT 2020" value="6"/> 287 </enum> 288 289 <enum name="YUV Cr Siting"> 290 <value name="Co-Sited" value="0"/> 291 <value name="Center Y" value="1"/> 292 <value name="Center X" value="2"/> 293 <value name="Center" value="3"/> 294 <value name="One Quarter" value="4"/> 295 <value name="Three Quarters" value="5"/> 296 <value name="Replicated" value="7"/> 297 </enum> 298 299 <enum name="Block Format"> 300 <!--- 16x16 block u-interleaved --> 301 <value name="Tiled U-Interleaved" value="0"/> 302 <value name="Tiled Linear" value="1"/> 303 <value name="Linear" value="2"/> 304 </enum> 305 306 <enum name="Mipmap Mode"> 307 <value name="Nearest" value="0"/> 308 <value name="Performance Trilinear" value="2"/> 309 <value name="Trilinear" value="3"/> 310 </enum> 311 312 <enum name="MSAA"> 313 <value name="Single" value="0"/> 314 <!-- N samples, 1 surface, resolved --> 315 <value name="Average" value="1"/> 316 <!-- N samples, 1 surface, unresolved --> 317 <value name="Multiple" value="2"/> 318 <!-- N samples, N surfaces --> 319 <value name="Layered" value="3"/> 320 </enum> 321 322 <enum name="Index Type"> 323 <value name="None" value="0"/> 324 <value name="UINT8" value="1"/> 325 <value name="UINT16" value="2"/> 326 <value name="UINT32" value="3"/> 327 </enum> 328 329 <enum name="Occlusion Mode"> 330 <value name="Disabled" value="0"/> 331 <value name="Predicate" value="1"/> 332 <value name="Counter" value="3"/> 333 </enum> 334 335 <enum name="Stencil Op"> 336 <value name="Keep" value="0"/> 337 <value name="Replace" value="1"/> 338 <value name="Zero" value="2"/> 339 <value name="Invert" value="3"/> 340 <value name="Incr Wrap" value="4"/> 341 <value name="Decr Wrap" value="5"/> 342 <value name="Incr Sat" value="6"/> 343 <value name="Decr Sat" value="7"/> 344 </enum> 345 346 <enum name="Texture Dimension"> 347 <value name="Cube" value="0"/> 348 <value name="1D" value="1"/> 349 <value name="2D" value="2"/> 350 <value name="3D" value="3"/> 351 </enum> 352 353 <enum name="Texture Layout"> 354 <!--- 16x16 block u-interleaved --> 355 <value name="Tiled" value="1"/> 356 <value name="Linear" value="2"/> 357 <value name="AFBC" value="12"/> 358 </enum> 359 360 <enum name="AFBC Surface Flag"> 361 <value name="YTR" value="1"/> 362 </enum> 363 364 <enum name="Wrap Mode"> 365 <value name="Repeat" value="8"/> 366 <value name="Clamp to Edge" value="9"/> 367 <value name="Clamp" value="10"/> 368 <value name="Clamp to Border" value="11"/> 369 <value name="Mirrored Repeat" value="12"/> 370 <value name="Mirrored Clamp to Edge" value="13"/> 371 <value name="Mirrored Clamp" value="14"/> 372 <value name="Mirrored Clamp to Border" value="15"/> 373 </enum> 374 375 <struct name="Attribute" align="8"> 376 <field name="Buffer index" size="9" start="0" type="uint"/> 377 <field name="Offset enable" size="1" start="9" type="bool" default="true"/> 378 <field name="Format" size="22" start="10" type="Pixel Format"/> 379 <field name="Offset" size="32" start="32" type="int"/> 380 </struct> 381 382 <struct name="Attribute Vertex ID" align="32"> 383 <field name="Type" size="8" start="0" type="Attribute Special" default="Vertex ID"/> 384 <field name="Divisor R" size="5" start="56" type="uint"/> 385 <field name="Divisor P" size="3" start="61" type="uint"/> 386 <field name="Offset" size="32" start="96" type="int"/> 387 </struct> 388 389 <struct name="Attribute Instance ID" align="32"> 390 <field name="Type" size="8" start="0" type="Attribute Special" default="Instance ID"/> 391 <field name="Divisor R" size="5" start="56" type="uint"/> 392 <field name="Divisor E" size="1" start="61" type="uint"/> 393 <field name="Divisor P" size="32" start="64" type="uint"/> 394 <field name="Offset" size="32" start="96" type="int"/> 395 </struct> 396 397 <struct name="Attribute Buffer" align="32"> 398 <field name="Special" size="8" start="0" type="Attribute Special"/> 399 <field name="Type" size="6" start="0" type="Attribute Type" default="1D"/> 400 <field name="Pointer" size="50" start="6" type="address" modifier="shr(6)"/> 401 <field name="Stride" size="32" start="64" type="uint"/> 402 <field name="Size" size="32" start="96" type="uint"/> 403 404 <field name="Divisor" size="8" start="56" type="padded" default="1"/> 405 <field name="Divisor R" size="5" start="56" type="uint"/> 406 <field name="Divisor P" size="3" start="61" type="uint"/> 407 <field name="Divisor E" size="1" start="61" type="uint"/> 408 </struct> 409 410 <struct name="Attribute Buffer Continuation NPOT"> 411 <field name="Type" size="6" start="0:0" type="Attribute Type" default="Continuation"/> 412 <field name="Divisor Numerator" size="32" start="1:0" type="uint"/> 413 <field name="Divisor" size="32" start="3:0" type="uint"/> 414 </struct> 415 416 <struct name="Attribute Buffer Continuation 3D" size="4"> 417 <field name="Type" size="6" start="0:0" type="Attribute Type" default="Continuation"/> 418 <field name="S dimension" size="16" start="0:16" type="uint" modifier="minus(1)"/> 419 <field name="T dimension" size="16" start="1:0" type="uint" modifier="minus(1)"/> 420 <field name="R dimension" size="16" start="1:16" type="uint" modifier="minus(1)"/> 421 <field name="Row Stride" size="32" start="2:0" type="uint"/> 422 <field name="Slice Stride" size="32" start="3:0" type="uint"/> 423 </struct> 424 425 <enum name="Blend Operand A"> 426 <value name="Zero" value="1"/> 427 <value name="Src" value="2"/> 428 <value name="Dest" value="3"/> 429 </enum> 430 431 <enum name="Blend Operand B"> 432 <value name="Src Minus Dest" value="0"/> 433 <value name="Src Plus Dest" value="1"/> 434 <value name="Src" value="2"/> 435 <value name="Dest" value="3"/> 436 </enum> 437 438 <enum name="Blend Operand C"> 439 <value name="Zero" value="1"/> 440 <value name="Src" value="2"/> 441 <value name="Dest" value="3"/> 442 <value name="Src x 2" value="4"/> 443 <value name="Src Alpha" value="5"/> 444 <value name="Dest Alpha" value="6"/> 445 <value name="Constant" value="7"/> 446 </enum> 447 448 <struct name="Blend Function" no-direct-packing="true"> 449 <!-- Blend equation: A + (B * C) --> 450 <field name="A" size="2" start="0" type="Blend Operand A"/> 451 <field name="Negate A" size="1" start="3" type="bool"/> 452 <field name="B" size="2" start="4" type="Blend Operand B"/> 453 <field name="Negate B" size="1" start="7" type="bool"/> 454 <field name="C" size="3" start="8" type="Blend Operand C"/> 455 <field name="Invert C" size="1" start="11" type="bool"/> 456 </struct> 457 458 <struct name="Blend Equation" size="1"> 459 <field name="RGB" size="12" start="0:0" type="Blend Function"/> 460 <field name="Alpha" size="12" start="0:12" type="Blend Function"/> 461 <field name="Color Mask" size="4" start="0:28" type="uint"/> 462 </struct> 463 464 <struct name="Blend" size="4" align="16"> 465 <field name="Load Destination" size="1" start="0:0" type="bool" default="false"/> 466 <field name="Blend Shader" size="1" start="0:1" type="bool" default="false"/> 467 <field name="Blend Shader Contains Discard" size="1" start="0:2" type="bool" default="false"/> 468 <field name="Alpha To One" size="1" start="0:8" type="bool"/> 469 <field name="Enable" size="1" start="0:9" type="bool" default="true"/> 470 <field name="sRGB" size="1" start="0:10" type="bool" default="false"/> 471 <field name="Round to FB precision" size="1" start="0:11" type="bool" default="false"/> 472 <field name="Shader PC" size="64" start="2:0" type="address"/> 473 <field name="Equation" size="32" start="2:0" type="Blend Equation"/> 474 <field name="Constant" size="32" start="3:0" type="float"/> 475 </struct> 476 477 <struct name="Invocation"> 478 <!-- Dynamic bitfield containing WorkGroupSize.xyz, NumWorkGroups.xyz 479 The number of bits allocated for each number is based on the *_shift 480 fields. For example, workgroups_y_shift gives the bit that 481 gl_NumWorkGroups.y starts at, and workgroups_z_shift gives the bit 482 that gl_NumWorkGroups.z starts at (and therefore one after the bit 483 that gl_NumWorkGroups.y ends at). The actual value for each 484 is one more than the stored value, since if any of the values 485 are zero, then there would be no invocations (and hence no job). --> 486 <field name="Invocations" size="32" start="0:0" type="uint"/> 487 <field name="Size Y shift" size="5" start="1:0" type="uint"/> 488 <field name="Size Z shift" size="5" start="1:5" type="uint"/> 489 <field name="Workgroups X shift" size="6" start="1:10" type="uint"/> 490 <field name="Workgroups Y shift" size="6" start="1:16" type="uint"/> 491 <field name="Workgroups Z shift" size="6" start="1:22" type="uint"/> 492 <field name="Thread group split" size="4" start="1:28" type="uint" prefix="MALI_SPLIT"> 493 <value name="Min efficient" value="2"/> 494 </field> 495 </struct> 496 497 <enum name="Point Size Array Format"> 498 <value name="None" value="0"/> 499 <value name="FP16" value="2"/> 500 <value name="FP32" value="3"/> 501 </enum> 502 503 <enum name="Primitive Restart"> 504 <value name="None" value="0"/> 505 <value name="Implicit" value="2"/> 506 <value name="Explicit" value="3"/> 507 </enum> 508 509 <struct name="Primitive"> 510 <field name="Draw mode" size="8" start="0:0" type="Draw Mode"/> 511 <field name="Index type" size="3" start="0:8" type="Index Type" default="None"/> 512 <field name="Point size array format" size="2" start="0:11" type="Point Size Array Format"/> 513 <field name="Primitive Index Enable" size="1" start="0:13" type="bool"/> 514 <field name="Primitive Index Writeback" size="1" start="0:14" type="bool"/> 515 <field name="First provoking vertex" size="1" start="0:15" type="bool" default="true"/> 516 <field name="Low Depth Cull" size="1" start="0:16" type="bool" default="true"/> 517 <field name="High Depth Cull" size="1" start="0:17" type="bool" default="true"/> 518 <field name="Primitive restart" size="2" start="0:19" type="Primitive Restart"/> 519 <field name="Job Task Split" size="6" start="0:26" type="uint"/> 520 <field name="Base vertex offset" size="32" start="1:0" type="uint"/> 521 <field name="Primitive Restart Index" size="32" start="2:0" type="uint"/> 522 <field name="Index count" size="32" start="3:0" type="uint" modifier="minus(1)"/> 523 <field name="Indices" size="64" start="4:0" type="address"/> 524 </struct> 525 526 <struct name="Draw" size="30" align="64"> 527 <field name="Four Components Per Vertex" size="1" start="0:0" type="bool" default="true"/> 528 <field name="Draw Descriptor Is 64b" size="1" start="0:1" type="bool" default="true"/> 529 <field name="Texture Descriptor Is 64b" size="1" start="0:2" type="bool" default="true"/> 530 <field name="Occlusion query" size="2" start="0:3" type="Occlusion Mode" default="Disabled"/> 531 <field name="Front face CCW" size="1" start="0:5" type="bool"/> 532 <field name="Cull front face" size="1" start="0:6" type="bool"/> 533 <field name="Cull back face" size="1" start="0:7" type="bool"/> 534 <field name="Flat Shading Vertex" size="1" start="0:8" type="uint"/> 535 <field name="Primitive Barrier" size="1" start="0:10" type="bool"/> 536 <field name="Clean Fragment Write" size="1" start="0:11" type="bool"/> 537 <field name="Instance Size" size="8" start="0:16" type="padded" default="1"/> 538 <field name="Instance Primitive Size" size="8" start="0:24" type="padded" default="1"/> 539 <field name="Offset start" size="32" start="1:0" type="uint"/> 540 <field name="Primitive Index Base" size="32" start="2:0" type="uint"/> 541 <field name="Position" size="64" start="4:0" type="address"/> 542 <field name="Uniform buffers" size="64" start="6:0" type="address"/> 543 <field name="Textures" size="64" start="8:0" type="address"/> 544 <field name="Samplers" size="64" start="10:0" type="address"/> 545 <field name="Push uniforms" size="64" start="12:0" type="address"/> 546 <field name="State" size="64" start="14:0" type="address"/> 547 <field name="Attribute buffers" size="64" start="16:0" type="address"/> 548 <field name="Attributes" size="64" start="18:0" type="address"/> 549 <field name="Varying buffers" size="64" start="20:0" type="address"/> 550 <field name="Varyings" size="64" start="22:0" type="address"/> 551 <field name="Viewport" size="64" start="24:0" type="address"/> 552 <field name="Occlusion" size="64" start="26:0" type="address"/> 553 <field name="Thread Storage" size="64" start="28:0" type="address"/> 554 <field name="FBD" size="64" start="28:0" type="address"/> 555 </struct> 556 557 <struct name="Surface" align="8"> 558 <field name="Pointer" size="64" start="0:0" type="address"/> 559 </struct> 560 561 <struct name="Surface With Stride" align="8"> 562 <field name="Pointer" size="64" start="0:0" type="address"/> 563 <field name="Row stride" size="32" start="2:0" type="int"/> 564 <field name="Surface stride" size="32" start="3:0" type="int"/> 565 </struct> 566 567 <struct name="Sampler" align="32"> 568 <field name="Magnify Nearest" size="1" start="0" type="bool" default="true"/> 569 <field name="Minify Nearest" size="1" start="1" type="bool" default="true"/> 570 <field name="Mipmap Mode" size="2" start="3" type="Mipmap Mode" default="Nearest"/> 571 <field name="Normalized Coordinates" size="1" start="5" type="bool" default="true"/> 572 <field name="Isotropic LOD" size="1" start="6" type="bool"/> 573 <field name="LOD Bias" size="16" start="0:16" type="int" default="0"/> 574 <field name="Minimum LOD" size="16" start="1:0" type="uint" default="0"/> 575 <field name="Maximum LOD" size="16" start="1:16" type="uint" default="1"/> 576 <field name="Wrap Mode S" size="4" start="2:0" type="Wrap Mode" default="Clamp to Edge"/> 577 <field name="Wrap Mode T" size="4" start="2:4" type="Wrap Mode" default="Clamp to Edge"/> 578 <field name="Wrap Mode R" size="4" start="2:8" type="Wrap Mode" default="Clamp to Edge"/> 579 <field name="Compare Function" size="3" start="2:12" type="Func" default="Never"/> 580 <field name="Seamless Cube Map" size="1" start="2:15" type="bool" default="true"/> 581 <field name="Border Color R" size="32" start="4:0" type="uint/float" default="0.0"/> 582 <field name="Border Color G" size="32" start="5:0" type="uint/float" default="0.0"/> 583 <field name="Border Color B" size="32" start="6:0" type="uint/float" default="0.0"/> 584 <field name="Border Color A" size="32" start="7:0" type="uint/float" default="0.0"/> 585 </struct> 586 587 <struct name="Texture" size="8" align="64"> 588 <field name="Width" size="16" start="0:0" type="uint" modifier="minus(1)"/> 589 <field name="Height" size="16" start="0:16" type="uint" modifier="minus(1)"/> 590 <field name="Depth" size="16" start="1:0" type="uint" modifier="minus(1)" default="1"/> 591 <field name="Sample count" size="16" start="1:0" type="uint" modifier="minus(1)" default="1"/> 592 <field name="Array size" size="16" start="1:16" type="uint" modifier="minus(1)"/> 593 <field name="Format" size="22" start="2:0" type="Pixel Format"/> 594 <field name="Dimension" size="2" start="2:22" type="Texture Dimension"/> 595 <field name="Texel ordering" size="4" start="2:24" type="Texture Layout"/> 596 <field name="Surface pointer is 64b" size="1" start="2:28" type="bool" default="true"/> 597 <field name="Manual stride" size="1" start="2:29" type="bool" default="false"/> 598 <field name="Levels" size="8" start="3:24" type="uint" modifier="minus(1)" default="1"/> 599 <field name="Swizzle" size="12" start="4:0" type="uint"/> 600 </struct> 601 602 <enum name="FP Mode"> 603 <value name="GL Inf/NaN Allowed" value="0"/> 604 <value name="GL Inf/NaN Suppressed" value="1"/> 605 <value name="CL" value="2"/> 606 <value name="D3D11" value="3"/> 607 </enum> 608 609 <struct name="Renderer Properties" size="1"> 610 <field name="Uniform buffer count" size="8" start="0" type="uint"/> 611 <field name="Depth source" size="2" start="8" type="Depth Source" default="Minimum"/> 612 <field name="Shader contains barrier" size="1" start="11" type="bool"/> 613 <field name="Force early-z" size="1" start="10" type="bool"/> 614 <field name="Shader contains discard" size="1" start="12" type="bool"/> 615 <field name="Shader has side-effects" size="1" start="13" type="bool"/> 616 <field name="Shader reads tilebuffer" size="1" start="14" type="bool"/> 617 <field name="Forward pixel kill" size="1" start="15" type="bool"/> 618 <field name="Work register count" size="5" start="16" type="uint"/> 619 <field name="Uniform count" size="5" start="21" type="uint"/> 620 <field name="Stencil from shader" size="1" start="28" type="bool"/> 621 <field name="FP mode" size="3" start="29" type="FP Mode"/> 622 </struct> 623 624 <struct name="Shader" size="4"> 625 <field name="Shader" size="64" start="0:0" type="address"/> 626 <field name="Sampler count" size="16" start="2:0" type="uint"/> 627 <field name="Texture count" size="16" start="2:16" type="uint"/> 628 <field name="Attribute count" size="16" start="3:0" type="uint"/> 629 <field name="Varying count" size="16" start="3:16" type="uint"/> 630 </struct> 631 632 <struct name="Multisample, Misc" size="1"> 633 <field name="Sample mask" size="16" start="0" type="uint"/> 634 <field name="Multisample enable" size="1" start="16" type="bool"/> 635 <field name="Multisample late coverage" size="1" start="17" type="bool"/> 636 <field name="Evaluate per-sample" size="1" start="18" type="bool"/> 637 <field name="Fixed-function depth range fixed" size="1" start="19" type="bool"/> 638 <field name="Shader depth range fixed" size="1" start="20" type="bool"/> 639 <field name="Load destination" size="1" start="21" type="bool"/> 640 <field name="Blend shader" size="1" start="22" type="bool"/> 641 <field name="Blend shader discard" size="1" start="23" type="bool"/> 642 <field name="Depth function" size="3" start="24" type="Func"/> 643 <field name="Depth write mask" size="1" start="27" type="bool"/> 644 <field name="Fixed-function near discard" size="1" start="28" type="bool"/> 645 <field name="Fixed-function far discard" size="1" start="29" type="bool"/> 646 <field name="Fragment near discard" size="1" start="30" type="bool"/> 647 <field name="Fragment far discard" size="1" start="31" type="bool"/> 648 </struct> 649 650 <struct name="Stencil Mask, Misc" size="1"> 651 <field name="Stencil mask front" size="8" start="0" type="uint"/> 652 <field name="Stencil mask back" size="8" start="8" type="uint"/> 653 <field name="Stencil enable" size="1" start="16" type="bool"/> 654 <field name="Alpha-to-coverage" size="1" start="17" type="bool"/> 655 <field name="Alpha-to-coverage Invert" size="1" start="18" type="bool"/> 656 <field name="Alpha to one" size="1" start="19" type="bool"/> 657 <field name="Write enable" size="1" start="20" type="bool"/> 658 <field name="Alpha test compare function" size="3" start="21" type="Func"/> 659 <field name="sRGB" size="1" start="24" type="bool"/> 660 <field name="Dither disable" size="1" start="25" type="bool"/> 661 <field name="Force seamless cubemaps" size="1" start="26" type="bool"/> 662 <field name="Front-facing depth bias" size="1" start="28" type="bool"/> 663 <field name="Back-facing depth bias" size="1" start="29" type="bool"/> 664 <field name="Single-sampled lines" size="1" start="30" type="bool"/> 665 <field name="Point snap" size="1" start="31" type="bool"/> 666 </struct> 667 668 <struct name="Stencil"> 669 <field name="Reference Value" size="8" start="0" type="uint"/> 670 <field name="Mask" size="8" start="8" type="uint"/> 671 <field name="Compare Function" size="3" start="16" type="Func"/> 672 <field name="Stencil Fail" size="3" start="19" type="Stencil Op"/> 673 <field name="Depth Fail" size="3" start="22" type="Stencil Op"/> 674 <field name="Depth Pass" size="3" start="25" type="Stencil Op"/> 675 </struct> 676 677 <struct name="Renderer State" align="64"> 678 <field name="Shader" size="128" start="0:0" type="Shader"/> 679 <field name="Properties" size="32" start="4:0" type="Renderer Properties"/> 680 <field name="Depth units" size="32" start="5:0" type="float"/> 681 <field name="Depth factor" size="32" start="6:0" type="float"/> 682 <field name="Depth bias clamp" size="32" start="7:0" type="float"/> 683 <field name="Multisample, Misc" size="32" start="8:0" type="Multisample, Misc"/> 684 <field name="Stencil Mask, Misc" size="32" start="9:0" type="Stencil Mask, Misc"/> 685 <field name="Stencil front" size="32" start="10:0" type="Stencil"/> 686 <field name="Stencil back" size="32" start="11:0" type="Stencil"/> 687 <field name="Alpha reference" size="32" start="12:0" type="float"/> 688 <field name="Thread Balancing" size="16" start="13:0" type="uint"/> 689 <field name="Blend Shader" size="64" start="14:0" type="address"/> 690 <field name="Blend Equation" size="32" start="14:0" type="Blend Equation"/> 691 <field name="Blend Constant" size="32" start="15:0" type="float"/> 692 </struct> 693 694 <struct name="Uniform Buffer" align="8"> 695 <field name="Entries" size="12" start="0" type="uint" modifier="minus(1)"/> 696 <field name="Pointer" size="52" start="12" type="address" modifier="shr(4)" element="16" count="Entries"/> 697 </struct> 698 699 <struct name="Viewport" align="32"> 700 <field name="Minimum X" size="32" start="0:0" default="-INFINITY" type="float"/> 701 <field name="Minimum Y" size="32" start="1:0" default="-INFINITY" type="float"/> 702 <field name="Maximum X" size="32" start="2:0" default="+INFINITY" type="float"/> 703 <field name="Maximum Y" size="32" start="3:0" default="+INFINITY" type="float"/> 704 <field name="Minimum Z" size="32" start="4:0" default="0.0" type="float"/> 705 <field name="Maximum Z" size="32" start="5:0" default="1.0" type="float"/> 706 <field name="Scissor Minimum X" size="16" start="6:0" default="0" type="uint"/> 707 <field name="Scissor Minimum Y" size="16" start="6:16" default="0" type="uint"/> 708 <field name="Scissor Maximum X" size="16" start="7:0" type="uint"/> 709 <field name="Scissor Maximum Y" size="16" start="7:16" type="uint"/> 710 </struct> 711 712 <struct name="Local Storage" size="8" align="64"> 713 <field name="TLS Size" size="5" start="0:0" type="uint"/> 714 <field name="TLS Initial Stack Pointer Offset" size="27" start="0:5" type="uint"/> 715 <field name="WLS Instances" size="5" start="1:0" type="uint" modifier="log2" prefix="MALI_LOCAL_STORAGE" default="MALI_LOCAL_STORAGE_NO_WORKGROUP_MEM"> 716 <value name="No Workgroup Mem" value="0x80000000"/> 717 </field> 718 <field name="WLS Size Base" size="2" start="1:5" type="uint"/> 719 <field name="WLS Size Scale" size="5" start="1:8" type="uint"/> 720 <field name="TLS Base Pointer" size="64" start="2:0" type="address"/> 721 <field name="WLS Base Pointer" size="64" start="4:0" type="address"/> 722 </struct> 723 724 <struct name="Tiler Context" size="10"> 725 <field name="Polygon List Size" size="32" start="0:0" type="uint" prefix="MALI_MIDGARD_TILER"> 726 <value name="Minimum Header Size" value="512"/> 727 </field> 728 <field name="Hierarchy Mask" size="16" start="1:0" type="uint" prefix="MALI_MIDGARD_TILER"> 729 <value name="Disabled" value="4096"/> 730 <value name="User" value="4095"/> 731 <value name="Hierarchy Mask" value="511"/> 732 </field> 733 <field name="Polygon List" size="64" start="2:0" type="address"/> 734 <field name="Polygon List Body" size="64" start="4:0" type="address"/> 735 <field name="Heap Start" size="64" start="6:0" type="address"/> 736 <field name="Heap End" size="64" start="8:0" type="address"/> 737 </struct> 738 739 <struct name="Tiler Weights"> 740 <field name="Weight0" size="32" start="0:0" type="uint"/> 741 <field name="Weight1" size="32" start="1:0" type="uint"/> 742 <field name="Weight2" size="32" start="2:0" type="uint"/> 743 <field name="Weight3" size="32" start="3:0" type="uint"/> 744 <field name="Weight4" size="32" start="4:0" type="uint"/> 745 <field name="Weight5" size="32" start="5:0" type="uint"/> 746 <field name="Weight6" size="32" start="6:0" type="uint"/> 747 <field name="Weight7" size="32" start="7:0" type="uint"/> 748 </struct> 749 750 <enum name="Color Buffer Internal Format"> 751 <value name="Raw Value" value="0"/> 752 <value name="R8G8B8A8" value="1"/> 753 <value name="R10G10B10A2" value="2"/> 754 <value name="R8G8B8A2" value="3"/> 755 <value name="R4G4B4A4" value="4"/> 756 <value name="R5G6B5A0" value="5"/> 757 <value name="R5G5B5A1" value="6"/> 758 <value name="RAW8" value="32"/> 759 <value name="RAW16" value="33"/> 760 <value name="RAW32" value="34"/> 761 <value name="RAW64" value="35"/> 762 <value name="RAW128" value="36"/> 763 </enum> 764 765 <enum name="Color Format"> 766 <value name="4_32B_CHANNELS" value="0"/> 767 <value name="3_32B_CHANNELS" value="1"/> 768 <value name="2_32B_CHANNELS" value="2"/> 769 <value name="1_32B_CHANNEL" value="3"/> 770 <value name="4_16B_CHANNELS" value="4"/> 771 <value name="3_16B_CHANNELS" value="5"/> 772 <value name="2_16B_CHANNELS" value="6"/> 773 <value name="1_16B_CHANNEL" value="7"/> 774 <value name="R8" value="16"/> 775 <value name="R8G8" value="17"/> 776 <value name="R8G8B8" value="18"/> 777 <value name="R8G8B8A8" value="19"/> 778 <value name="R4G4B4A4" value="20"/> 779 <value name="R5G6B5" value="21"/> 780 <value name="R8G8B8_FROM_R8G8B8A2" value="22"/> 781 <value name="R10G10B10A2" value="24"/> 782 <value name="A2B10G10R10" value="25"/> 783 <value name="R5G5B5A1" value="28"/> 784 <value name="A1B5G5R5" value="29"/> 785 </enum> 786 787 <enum name="Downsampling Accumulation Mode"> 788 <value name="Unsigned normalized integer" value="0"/> 789 <value name="Signed normalized integer" value="1"/> 790 </enum> 791 792 <enum name="Sample Layout"> 793 <value name="Ordered 4x Grid" value="0"/> 794 <value name="Rotated 4x Grid" value="1"/> 795 <value name="D3D 8x Grid" value="2"/> 796 <value name="D3D 16x Grid" value="3"/> 797 </enum> 798 799 <enum name="ZS Format"> 800 <value name="D16" value="1"/> 801 <value name="D24" value="2"/> 802 <value name="D24X8" value="4"/> 803 <value name="D24S8" value="5"/> 804 <value name="X8D24" value="6"/> 805 <value name="S8D24" value="7"/> 806 <value name="D32" value="14"/> 807 <value name="D32_S8X24" value="15"/> 808 </enum> 809 810 <enum name="ZS Preload Format"> 811 <value name="D32_S8X24" value="4"/> 812 </enum> 813 814 <enum name="S Format"> 815 <value name="S8" value="1"/> 816 <value name="S8X8" value="2"/> 817 <value name="S8X24" value="3"/> 818 <value name="X24S8" value="4"/> 819 </enum> 820 821 <enum name="Tie-Break Rule"> 822 <value name="0_IN_180_OUT" value="0"/> 823 <value name="0_OUT_180_IN" value="1"/> 824 <value name="MINUS_180_IN_0_OUT" value="2"/> 825 <value name="MINUS_180_OUT_0_IN" value="3"/> 826 <value name="90_IN_270_OUT" value="4"/> 827 <value name="90_OUT_270_IN" value="5"/> 828 <value name="MINUS_90_IN_90_OUT" value="6"/> 829 <value name="MINUS_90_OUT_90_IN" value="7"/> 830 </enum> 831 832 <struct name="RT Buffer"> 833 <field name="Base" size="64" start="0:0" type="address"/> 834 <field name="Row Stride" size="32" start="2:0" type="uint"/> 835 <field name="Surface Stride" size="32" start="3:0" type="uint"/> 836 </struct> 837 838 <struct name="Framebuffer Parameters" size="40"> 839 <field name="Internal Format" size="3" start="0:0" default="Raw Value" type="Color Buffer Internal Format"/> 840 <field name="Sample Count" size="3" start="0:3" type="uint" default="1" modifier="log2"/> 841 <field name="Swizzle" size="12" start="0:6" type="uint"/> 842 <field name="Color Writeback Format" size="5" start="0:18" default="4_32B_CHANNELS" type="Color Format"/> 843 <field name="MSAA" size="2" start="0:23" default="Single" type="MSAA"/> 844 <field name="sRGB" size="1" start="0:25" type="bool"/> 845 <field name="Color Block Format" size="2" start="0:26" type="Block Format"/> 846 <field name="Dithering Enable" size="1" start="0:28" type="bool"/> 847 <field name="Clean Pixel Write Enable" size="1" start="0:29" type="bool"/> 848 <field name="Color Preload Enable" size="1" start="0:30" type="bool"/> 849 <field name="Color Write Enable" size="1" start="0:31" type="bool"/> 850 <field name="X Downsampling Scale" size="3" start="1:0" type="uint"/> 851 <field name="Y Downsampling Scale" size="3" start="1:3" type="uint"/> 852 <field name="Downsampling Accumulation Mode" size="2" start="1:6" type="Downsampling Accumulation Mode"/> 853 <field name="Sample Layout" size="2" start="1:8" type="Sample Layout"/> 854 <field name="Big Endian" size="1" start="1:10" type="bool"/> 855 <field name="Tie-Break Rule" size="3" start="1:11" type="Tie-Break Rule"/> 856 <field name="CRC Read Enable" size="1" start="1:14" type="bool"/> 857 <field name="CRC Write Enable" size="1" start="1:15" type="bool"/> 858 <field name="ZS Block Format" size="2" start="1:16" type="Block Format"/> 859 <field name="ZS Format" size="4" start="1:18" type="ZS Format" default="D24S8"/> 860 <field name="ZS Preload Enable" size="1" start="1:22" type="bool"/> 861 <field name="ZS Write Enable" size="1" start="1:23" type="bool"/> 862 <field name="S Block Format" size="2" start="1:24" type="Block Format"/> 863 <field name="S Format" size="4" start="1:26" type="S Format"/> 864 <field name="S Write Enable" size="1" start="1:31" type="bool"/> 865 <field name="Bound Min X" size="16" start="2:0" type="uint"/> 866 <field name="Bound Min Y" size="16" start="2:16" type="uint"/> 867 <field name="Bound Max X" size="16" start="3:0" type="uint"/> 868 <field name="Bound Max Y" size="16" start="3:16" type="uint"/> 869 <field name="DCD Offset" size="32" start="4:0" type="uint"/> 870 <field name="CRC Buffer" size="128" start="8:0" type="RT Buffer"/> 871 <field name="Color Writeback" size="128" start="12:0" type="RT Buffer"/> 872 <field name="ZS Writeback" size="128" start="16:0" type="RT Buffer"/> 873 <field name="S Writeback" size="128" start="20:0" type="RT Buffer"/> 874 <field name="Color Load Address" size="64" start="24:0" type="address"/> 875 <field name="Color Load Row Stride" size="32" start="26:0" type="uint"/> 876 <field name="Color Load Surface Stride" size="32" start="27:0" type="uint"/> 877 <field name="Clear Color 0" size="32" start="24:0" type="uint"/> 878 <field name="Clear Color 1" size="32" start="25:0" type="uint"/> 879 <field name="Clear Color 2" size="32" start="26:0" type="uint"/> 880 <field name="Clear Color 3" size="32" start="27:0" type="uint"/> 881 <field name="ZS Load Address" size="64" start="28:0" type="address"/> 882 <field name="ZS Load Row Stride" size="32" start="30:0" type="uint"/> 883 <field name="ZS Load Surface Stride" size="32" start="31:0" type="uint"/> 884 <field name="Z Clear" size="32" start="28:0" type="float"/> 885 <field name="S Clear" size="8" start="32:0" type="uint"/> 886 </struct> 887 888 <struct name="Framebuffer Padding 1" size="6"> 889 </struct> 890 891 <struct name="Framebuffer Padding 2" size="8"> 892 </struct> 893 894 <aggregate name="Framebuffer" size="320" align="64"> 895 <section name="Local Storage" offset="0" type="Local Storage"/> 896 <section name="Parameters" offset="32" type="Framebuffer Parameters"/> 897 <section name="Tiler" offset="192" type="Tiler Context"/> 898 <section name="Padding 1" offset="232" type="Framebuffer Padding 1"/> 899 <section name="Tiler Weights" offset="256" type="Tiler Weights"/> 900 <section name="Padding 2" offset="288" type="Framebuffer Padding 2"/> 901 </aggregate> 902 903 <enum name="Sample Pattern"> 904 <value name="Single-sampled" value="0"/> 905 <value name="Ordered 4x Grid" value="1"/> 906 <value name="Rotated 4x Grid" value="2"/> 907 <value name="D3D 8x Grid" value="3"/> 908 <value name="D3D 16x Grid" value="4"/> 909 </enum> 910 911 <struct name="Job Header" align="64"> 912 <field name="Exception Status" size="32" start="0:0" type="uint"/> 913 <field name="First Incomplete Task" size="32" start="1:0" type="uint"/> 914 <field name="Fault Pointer" size="64" start="2:0" type="address"/> 915 <field name="Is 64b" size="1" start="4:0" type="bool" default="true"/> 916 <field name="Type" size="7" start="4:1" type="Job Type"/> 917 <field name="Barrier" size="1" start="4:8" type="bool"/> 918 <field name="Invalidate Cache" size="1" start="4:9" type="bool"/> 919 <field name="Suppress Prefetch" size="1" start="4:11" type="bool"/> 920 <field name="Enable Texture Mapper" size="1" start="4:12" type="bool"/> 921 <field name="Relax Dependency 1" size="1" start="4:14" type="bool"/> 922 <field name="Relax Dependency 2" size="1" start="4:15" type="bool"/> 923 <field name="Index" size="16" start="4:16" type="uint"/> 924 <field name="Dependency 1" size="16" start="5:0" type="uint"/> 925 <field name="Dependency 2" size="16" start="5:16" type="uint"/> 926 <field name="Next" size="64" start="6:0" type="address"/> 927 </struct> 928 929 <struct name="Fragment Job Payload" size="4"> 930 <field name="Bound Min X" size="12" start="0:0" type="uint"/> 931 <field name="Bound Min Y" size="12" start="0:16" type="uint"/> 932 <field name="Bound Max X" size="12" start="1:0" type="uint"/> 933 <field name="Bound Max Y" size="12" start="1:16" type="uint"/> 934 <field name="Framebuffer" size="64" start="2:0" type="address"/> 935 </struct> 936 937 <aggregate name="Fragment Job" align="64"> 938 <section name="Header" offset="0" type="Job Header"/> 939 <section name="Payload" offset="32" type="Fragment Job Payload"/> 940 </aggregate> 941 942 <enum name="Write Value Type"> 943 <value name="Cycle Counter" value="1"/> 944 <value name="System Timestamp" value="2"/> 945 <value name="Zero" value="3"/> 946 </enum> 947 948 <struct name="Write Value Job Payload"> 949 <field name="Address" size="64" start="0:0" type="address"/> 950 <field name="Type" size="32" start="2:0" type="Write Value Type"/> 951 </struct> 952 953 <struct name="Cache Flush Job Payload" size="2"> 954 <field name="Clean Shader Core LS" size="1" start="0:0" type="bool"/> 955 <field name="Invalidate Shader Core LS" size="1" start="0:1" type="bool"/> 956 <field name="Invalidate Shader Core Other" size="1" start="0:2" type="bool"/> 957 <field name="Job Manager Clean" size="1" start="0:16" type="bool"/> 958 <field name="Job Manager Invalidate" size="1" start="0:17" type="bool"/> 959 <field name="Tiler Clean" size="1" start="0:24" type="bool"/> 960 <field name="Tiler Invalidate" size="1" start="0:25" type="bool"/> 961 <field name="L2 Clean" size="1" start="1:0" type="bool"/> 962 <field name="L2 Invalidate" size="1" start="1:1" type="bool"/> 963 </struct> 964 965 <aggregate name="Write Value Job" align="64"> 966 <section name="Header" offset="0" type="Job Header"/> 967 <section name="Payload" offset="32" type="Write Value Job Payload"/> 968 </aggregate> 969 970 <aggregate name="Cache Flush Job" align="64"> 971 <section name="Header" offset="0" type="Job Header"/> 972 <section name="Payload" offset="32" type="Cache Flush Job Payload"/> 973 </aggregate> 974 975 <struct name="Compute Job Parameters" size="6"> 976 <field name="Job Task Split" size="4" start="0:26" type="uint"/> 977 </struct> 978 979 <!-- Compute job also covers vertex and geometry operations --> 980 <aggregate name="Compute Job" align="64"> 981 <section name="Header" offset="0" type="Job Header"/> 982 <section name="Invocation" offset="32" type="Invocation"/> 983 <section name="Parameters" offset="40" type="Compute Job Parameters"/> 984 <section name="Draw" offset="64" type="Draw"/> 985 </aggregate> 986 987 <struct name="Primitive Size"> 988 <field name="Constant" size="32" start="0:0" type="float"/> 989 <field name="Size Array" size="64" start="0:0" type="uint"/> 990 </struct> 991 992 <aggregate name="Tiler Job" size="192" align="64"> 993 <section name="Header" offset="0" type="Job Header"/> 994 <section name="Invocation" offset="32" type="Invocation"/> 995 <section name="Primitive" offset="40" type="Primitive"/> 996 <section name="Draw" offset="64" type="Draw"/> 997 <section name="Primitive Size" offset="184" type="Primitive Size"/> 998 </aggregate> 999</panxml> 1000