101e04c3fSmrg<vcxml gen="2.1" min_ver="21" max_ver="21"> 201e04c3fSmrg 301e04c3fSmrg <enum name="Compare Function" prefix="V3D_COMPARE_FUNC"> 401e04c3fSmrg <value name="NEVER" value="0"/> 501e04c3fSmrg <value name="LESS" value="1"/> 601e04c3fSmrg <value name="EQUAL" value="2"/> 701e04c3fSmrg <value name="LEQUAL" value="3"/> 801e04c3fSmrg <value name="GREATER" value="4"/> 901e04c3fSmrg <value name="NOTEQUAL" value="5"/> 1001e04c3fSmrg <value name="GEQUAL" value="6"/> 1101e04c3fSmrg <value name="ALWAYS" value="7"/> 1201e04c3fSmrg </enum> 1301e04c3fSmrg 1401e04c3fSmrg <enum name="Primitive" prefix="V3D_PRIM"> 1501e04c3fSmrg <value name="POINTS" value="0"/> 1601e04c3fSmrg <value name="LINES" value="1"/> 1701e04c3fSmrg <value name="LINE_LOOP" value="2"/> 1801e04c3fSmrg <value name="LINE_STRIP" value="3"/> 1901e04c3fSmrg <value name="TRIANGLES" value="4"/> 2001e04c3fSmrg <value name="TRIANGLE_STRIP" value="5"/> 2101e04c3fSmrg <value name="TRIANGLE_FAN" value="6"/> 2201e04c3fSmrg </enum> 2301e04c3fSmrg 2401e04c3fSmrg <packet name="Halt" code="0"/> 2501e04c3fSmrg <packet name="NOP" code="1"/> 2601e04c3fSmrg <packet name="Flush" code="4" cl="B"/> 2701e04c3fSmrg <packet name="Flush All State" code="5" cl="B"/> 2801e04c3fSmrg <packet name="Start Tile Binning" code="6" cl="B"/> 2901e04c3fSmrg <packet name="Increment Semaphore" code="7"/> 3001e04c3fSmrg <packet name="Wait on Semaphore" code="8"/> 3101e04c3fSmrg <packet name="Branch" code="16"> 3201e04c3fSmrg <field name="Address" size="32" start="0" type="address"/> 3301e04c3fSmrg </packet> 3401e04c3fSmrg <packet name="Branch to sub-list" code="17"> 3501e04c3fSmrg <field name="Address" size="32" start="0" type="address"/> 3601e04c3fSmrg </packet> 3701e04c3fSmrg <packet name="Return from sub-list" code="18"/> 3801e04c3fSmrg 3901e04c3fSmrg <packet name="Store Multi-sample Resolved Tile Color Buffer" code="24" cl="R"/> 4001e04c3fSmrg <packet name="Store Multi-sample Resolved Tile Color Buffer and EOF" code="25" cl="R"/> 4101e04c3fSmrg 4201e04c3fSmrg <packet name="Store Full Resolution Tile Buffer" cl="R" code="26"> 4301e04c3fSmrg <field name="Address" size="28" start="4" type="address"/> 4401e04c3fSmrg <field name="Last Tile" size="1" start="3" type="bool"/> 4501e04c3fSmrg <field name="Disable Clear on Write" size="1" start="2" type="bool"/> 4601e04c3fSmrg <field name="Disable Z/Stencil Buffer write" size="1" start="1" type="bool"/> 4701e04c3fSmrg <field name="Disable Color Buffer write" size="1" start="0" type="bool"/> 4801e04c3fSmrg </packet> 4901e04c3fSmrg 5001e04c3fSmrg <packet name="Re-load Full Resolution Tile Buffer" cl="R" code="27"> 5101e04c3fSmrg <field name="Address" size="28" start="4" type="address"/> 5201e04c3fSmrg <field name="Disable Z/Stencil Buffer read" size="1" start="1" type="bool"/> 5301e04c3fSmrg <field name="Disable Color Buffer read" size="1" start="0" type="bool"/> 5401e04c3fSmrg </packet> 5501e04c3fSmrg 5601e04c3fSmrg <packet name="Store Tile Buffer General" code="28" cl="R"> 5701e04c3fSmrg <field name="Memory base address of frame/tile dump buffer" size="28" start="20" type="address"/> 5801e04c3fSmrg <field name="Last Tile of Frame" size="1" start="19" type="bool"/> 5901e04c3fSmrg <field name="Disable VG-Mask buffer dump" size="1" start="18" type="bool"/> 6001e04c3fSmrg <field name="Disable Z/Stencil buffer dump" size="1" start="17" type="bool"/> 6101e04c3fSmrg <field name="Disable Color buffer dump" size="1" start="16" type="bool"/> 6201e04c3fSmrg <field name="Disable VG-Mask buffer clear on store/dump" size="1" start="15" type="bool"/> 6301e04c3fSmrg <field name="Disable Z/Stencil buffer clear on store/dump" size="1" start="14" type="bool"/> 6401e04c3fSmrg <field name="Disable Color buffer clear on store/dump" size="1" start="13" type="bool"/> 6501e04c3fSmrg 6601e04c3fSmrg <field name="Pixel Color Format" size="2" start="8" type="uint"> 6701e04c3fSmrg <value name="rgba8888" value="0"/> 6801e04c3fSmrg <value name="bgr565 dithered" value="1"/> 6901e04c3fSmrg <value name="bgr565 no dither" value="2"/> 7001e04c3fSmrg </field> 7101e04c3fSmrg 7201e04c3fSmrg <field name="Mode" size="2" start="6" type="uint"> 7301e04c3fSmrg <value name="Sample 0" value="0"/> 7401e04c3fSmrg <value name="Decimate x4" value="1"/> 7501e04c3fSmrg <value name="Decimate x16" value="2"/> 7601e04c3fSmrg </field> 7701e04c3fSmrg 7801e04c3fSmrg <field name="Format" size="2" start="4" type="uint"> 7901e04c3fSmrg <value name="Raster" value="0"/> 8001e04c3fSmrg <value name="T" value="1"/> 8101e04c3fSmrg <value name="LT" value="2"/> 8201e04c3fSmrg </field> 8301e04c3fSmrg 8401e04c3fSmrg <field name="Buffer to Store" size="3" start="0" type="uint"> 8501e04c3fSmrg <value name="None" value="0"/> 8601e04c3fSmrg <value name="Color" value="1"/> 8701e04c3fSmrg <value name="Z/stencil" value="2"/> 8801e04c3fSmrg <value name="Z" value="3"/> 8901e04c3fSmrg <value name="VG-Mask" value="4"/> 9001e04c3fSmrg </field> 9101e04c3fSmrg </packet> 9201e04c3fSmrg 9301e04c3fSmrg <packet name="Load Tile Buffer General" code="29" cl="R"> 9401e04c3fSmrg <field name="Memory base address of frame/tile dump buffer" size="28" start="20" type="address"/> 9501e04c3fSmrg <field name="Disable VG-Mask buffer load" size="1" start="18" type="bool"/> 9601e04c3fSmrg <field name="Disable Z/Stencil buffer load" size="1" start="17" type="bool"/> 9701e04c3fSmrg <field name="Disable Color buffer load" size="1" start="16" type="bool"/> 9801e04c3fSmrg 9901e04c3fSmrg <field name="Pixel Color Format" size="2" start="8" type="uint"> 10001e04c3fSmrg <value name="rgba8888" value="0"/> 10101e04c3fSmrg <value name="bgr565 dithered" value="1"/> 10201e04c3fSmrg <value name="bgr565 no dither" value="2"/> 10301e04c3fSmrg </field> 10401e04c3fSmrg 10501e04c3fSmrg <field name="Mode" size="2" start="6" type="uint"> 10601e04c3fSmrg <value name="Sample 0" value="0"/> 10701e04c3fSmrg <value name="Decimate x4" value="1"/> 10801e04c3fSmrg <value name="Decimate x16" value="2"/> 10901e04c3fSmrg </field> 11001e04c3fSmrg 11101e04c3fSmrg <field name="Format" size="2" start="4" type="uint"> 11201e04c3fSmrg <value name="Raster" value="0"/> 11301e04c3fSmrg <value name="T" value="1"/> 11401e04c3fSmrg <value name="LT" value="2"/> 11501e04c3fSmrg </field> 11601e04c3fSmrg 11701e04c3fSmrg <field name="Buffer to Store" size="3" start="0" type="uint"> 11801e04c3fSmrg <value name="None" value="0"/> 11901e04c3fSmrg <value name="Color" value="1"/> 12001e04c3fSmrg <value name="Z/stencil" value="2"/> 12101e04c3fSmrg <value name="Z" value="3"/> 12201e04c3fSmrg <value name="VG-Mask" value="4"/> 12301e04c3fSmrg </field> 12401e04c3fSmrg </packet> 12501e04c3fSmrg 12601e04c3fSmrg <packet name="Indexed Primitive List" code="32"> 12701e04c3fSmrg <field name="Maximum Index" size="32" start="72" type="uint"/> 12801e04c3fSmrg <field name="Address of Indices List" size="32" start="40" type="uint"/> 12901e04c3fSmrg <field name="Length" size="32" start="8" type="uint"/> 13001e04c3fSmrg <field name="Index type" size="4" start="4" type="uint"> 13101e04c3fSmrg <value name="8-bit" value="0"/> 13201e04c3fSmrg <value name="16-bit" value="1"/> 13301e04c3fSmrg </field> 13401e04c3fSmrg <field name="Primitive mode" size="4" start="0" type="Primitive"/> 13501e04c3fSmrg </packet> 13601e04c3fSmrg 13701e04c3fSmrg <packet name="Vertex Array Primitives" code="33"> 13801e04c3fSmrg <field name="Index of First Vertex" size="32" start="40" type="uint"/> 13901e04c3fSmrg <field name="Length" size="32" start="8" type="uint"/> 14001e04c3fSmrg <field name="Primitive mode" size="4" start="0" type="Primitive"/> 14101e04c3fSmrg </packet> 14201e04c3fSmrg 14301e04c3fSmrg <packet name="Primitive List Format" cl="R" code="56"> 14401e04c3fSmrg <field name="Data Type" size="4" start="4" type="uint"> 14501e04c3fSmrg <value name="16-bit index" value="1"/> 14601e04c3fSmrg <value name="32-bit x/y" value="3"/> 14701e04c3fSmrg </field> 14801e04c3fSmrg 14901e04c3fSmrg <field name="Primitive Type" size="4" start="0" type="uint"> 15001e04c3fSmrg <value name="Points List" value="0"/> 15101e04c3fSmrg <value name="Lines List" value="1"/> 15201e04c3fSmrg <value name="Triangles List" value="2"/> 15301e04c3fSmrg <value name="RHY List" value="3"/> 15401e04c3fSmrg </field> 15501e04c3fSmrg </packet> 15601e04c3fSmrg 15701e04c3fSmrg <packet name="GL Shader State" code="64"> 15801e04c3fSmrg <!-- The address field will be filled in by kernel validation code. --> 15901e04c3fSmrg <field name="Address" size="28" start="0" type="uint"/> 16001e04c3fSmrg <field name="Extended shader record" size="1" start="3" type="bool"/> 16101e04c3fSmrg <field name="Number of attribute arrays" size="3" start="0" type="uint"/> 16201e04c3fSmrg </packet> 16301e04c3fSmrg 16401e04c3fSmrg <packet name="Clear Colors" cl="R" code="114"> 16501e04c3fSmrg <field name="Clear Stencil" size="8" start="96" type="uint"/> 16601e04c3fSmrg <field name="Clear VG Mask" size="8" start="88" type="uint"/> 16701e04c3fSmrg <field name="Clear ZS" size="24" start="64" type="uint"/> 16801e04c3fSmrg <field name="Clear Color" size="64" start="0" type="uint"/> 16901e04c3fSmrg </packet> 17001e04c3fSmrg 17101e04c3fSmrg <packet name="Configuration Bits" code="96"> 17201e04c3fSmrg <field name="Early Z updates enable" size="1" start="17" type="bool"/> 17301e04c3fSmrg <field name="Early Z enable" size="1" start="16" type="bool"/> 17401e04c3fSmrg <field name="Z updates enable" size="1" start="15" type="bool"/> 17501e04c3fSmrg <field name="Depth-Test Function" size="3" start="12" type="Compare Function"/> 17601e04c3fSmrg <field name="Coverage Read Mode" size="1" start="11" type="uint"/> 17701e04c3fSmrg <!-- add values --> 17801e04c3fSmrg <field name="Coverage Pipe Select" size="1" start="8" type="bool"/> 17901e04c3fSmrg <field name="Rasteriser Oversample Mode" size="2" start="6" type="uint"/> 18001e04c3fSmrg <!-- add values --> 18101e04c3fSmrg <field name="Coverage Read Type" size="1" start="5" type="uint"/> 18201e04c3fSmrg <!-- add values --> 18301e04c3fSmrg <field name="Antialiased Points and Lines" size="1" start="4" type="bool"/> 18401e04c3fSmrg <field name="Enable Depth Offset" size="1" start="3" type="bool"/> 18501e04c3fSmrg <field name="Clockwise Primitives" size="1" start="2" type="bool"/> 18601e04c3fSmrg <field name="Enable Reverse Facing Primitive" size="1" start="1" type="bool"/> 18701e04c3fSmrg <field name="Enable Forward Facing Primitive" size="1" start="0" type="bool"/> 18801e04c3fSmrg </packet> 18901e04c3fSmrg 19001e04c3fSmrg <packet name="Flat Shade Flags" code="97"> 19101e04c3fSmrg <field name="Flat-shading Flags" size="32" start="0" type="uint"/> 19201e04c3fSmrg </packet> 19301e04c3fSmrg 19401e04c3fSmrg <packet name="Point size" code="98"> 19501e04c3fSmrg <field name="Point Size" size="32" start="0" type="float"/> 19601e04c3fSmrg </packet> 19701e04c3fSmrg 19801e04c3fSmrg <packet name="Line width" code="99"> 19901e04c3fSmrg <field name="Line width" size="32" start="0" type="float"/> 20001e04c3fSmrg </packet> 20101e04c3fSmrg 20201e04c3fSmrg <packet name="RHT X boundary" code="100"> 20301e04c3fSmrg <field name="RHT primitive X boundary" size="16" start="0" type="int"/> 20401e04c3fSmrg </packet> 20501e04c3fSmrg 20601e04c3fSmrg <packet name="Depth Offset" code="101"> 20701e04c3fSmrg <!-- these fields are both float-1-8-7 encoded (top 16 bits of a float32) --> 20801e04c3fSmrg <field name="Depth Offset Units" size="16" start="16" type="uint"/> 20901e04c3fSmrg <field name="Depth Offset Factor" size="16" start="0" type="uint"/> 21001e04c3fSmrg </packet> 21101e04c3fSmrg 21201e04c3fSmrg <packet name="Clip Window" code="102"> 21301e04c3fSmrg <field name="Clip Window Height in pixels" size="16" start="48" type="uint"/> 21401e04c3fSmrg <field name="Clip Window Width in pixels" size="16" start="32" type="uint"/> 21501e04c3fSmrg <field name="Clip Window Bottom Pixel Coordinate" size="16" start="16" type="uint"/> 21601e04c3fSmrg <field name="Clip Window Left Pixel Coordinate" size="16" start="0" type="uint"/> 21701e04c3fSmrg </packet> 21801e04c3fSmrg 21901e04c3fSmrg <packet name="Viewport Offset" code="103"> 22001e04c3fSmrg <field name="Viewport Centre Y-coordinate" size="16" start="16" type="s12.4"/> 22101e04c3fSmrg <field name="Viewport Centre X-coordinate" size="16" start="0" type="s12.4"/> 22201e04c3fSmrg </packet> 22301e04c3fSmrg 22401e04c3fSmrg <packet name="Z min and max clipping planes" code="104"> 22501e04c3fSmrg <field name="Maximum Zw" size="32" start="32" type="float"/> 22601e04c3fSmrg <field name="Minimum Zw" size="32" start="0" type="float"/> 22701e04c3fSmrg </packet> 22801e04c3fSmrg 22901e04c3fSmrg <packet name="Clipper XY Scaling" code="105" cl="B"> 23001e04c3fSmrg <field name="Viewport Half-Height in 1/16th of pixel" size="32" start="32" type="float"/> 23101e04c3fSmrg <field name="Viewport Half-Width in 1/16th of pixel" size="32" start="0" type="float"/> 23201e04c3fSmrg </packet> 23301e04c3fSmrg 23401e04c3fSmrg <packet name="Clipper Z Scale and Offset" code="106" cl="B"> 23501e04c3fSmrg <field name="Viewport Z Offset (Zc to Zs)" size="32" start="32" type="float"/> 23601e04c3fSmrg <field name="Viewport Z Scale (Zc to Zs)" size="32" start="0" type="float"/> 23701e04c3fSmrg </packet> 23801e04c3fSmrg 23901e04c3fSmrg <packet name="Tile Binning Mode Configuration" code="112" cl="B"> 24001e04c3fSmrg <field name="Double-buffer in non-ms mode" size="1" start="119" type="bool"/> 24101e04c3fSmrg 24201e04c3fSmrg <field name="Tile Allocation Block Size" size="2" start="117" type="uint"> 24301e04c3fSmrg <value name="block size 32" value="0"/> 24401e04c3fSmrg <value name="block size 64" value="1"/> 24501e04c3fSmrg <value name="block size 128" value="2"/> 24601e04c3fSmrg <value name="block size 256" value="3"/> 24701e04c3fSmrg </field> 24801e04c3fSmrg 24901e04c3fSmrg <field name="Tile Allocation Initial Block Size" size="2" start="115" type="uint"> 25001e04c3fSmrg <value name="block size 32" value="0"/> 25101e04c3fSmrg <value name="block size 64" value="1"/> 25201e04c3fSmrg <value name="block size 128" value="2"/> 25301e04c3fSmrg <value name="block size 256" value="3"/> 25401e04c3fSmrg </field> 25501e04c3fSmrg 25601e04c3fSmrg <field name="Auto-initialise Tile State Data Array" size="1" start="114" type="bool"/> 25701e04c3fSmrg <field name="Tile Buffer 64-bit Color Depth" size="1" start="113" type="bool"/> 25801e04c3fSmrg <field name="Multisample Mode (4x)" size="1" start="112" type="bool"/> 25901e04c3fSmrg 26001e04c3fSmrg <field name="Height (in tiles)" size="8" start="104" type="uint"/> 26101e04c3fSmrg <field name="Width (in tiles)" size="8" start="96" type="uint"/> 26201e04c3fSmrg 26301e04c3fSmrg <field name="Tile State Data Array Address" size="32" start="64" type="uint"/> 26401e04c3fSmrg <field name="Tile Allocation memory size" size="32" start="32" type="uint"/> 26501e04c3fSmrg <field name="Tile Allocation memory address" size="32" start="0" type="uint"/> 26601e04c3fSmrg 26701e04c3fSmrg </packet> 26801e04c3fSmrg 26901e04c3fSmrg <packet name="Tile Rendering Mode Configuration" code="113" cl="R"> 27001e04c3fSmrg <field name="Double-buffer in non-ms mode" size="1" start="76" type="bool"/> 27101e04c3fSmrg <field name="Early-Z/Early-Cov disable" size="1" start="75" type="bool"/> 27201e04c3fSmrg <field name="Early-Z Update Direction GT/GE" size="1" start="74" type="bool"/> 27301e04c3fSmrg <field name="Select Coverage Mode" size="1" start="73" type="bool"/> 27401e04c3fSmrg <field name="Enable VG Mask Buffer" size="1" start="72" type="bool"/> 27501e04c3fSmrg <field name="Memory Format" size="2" start="70" type="uint"> 27601e04c3fSmrg <value name="Raster" value="0"/> 27701e04c3fSmrg <value name="T" value="1"/> 27801e04c3fSmrg <value name="LT" value="2"/> 27901e04c3fSmrg </field> 28001e04c3fSmrg <field name="Decimate Mode" size="2" start="68" type="uint"/> 28101e04c3fSmrg 28201e04c3fSmrg <field name="Non-HDR Frame Buffer Color Format" size="2" start="66" type="uint"> 28301e04c3fSmrg <value name="rendering config bgr565 dithered" value="0"/> 28401e04c3fSmrg <value name="rendering config rgba8888" value="1"/> 28501e04c3fSmrg <value name="rendering config bgr565 no dither" value="2"/> 28601e04c3fSmrg </field> 28701e04c3fSmrg 28801e04c3fSmrg <field name="Tile Buffer 64-bit Color Depth" size="1" start="65" type="bool"/> 28901e04c3fSmrg <field name="Multisample Mode (4x)" size="1" start="64" type="bool"/> 29001e04c3fSmrg <field name="Height (pixels)" size="16" start="48" type="uint"/> 29101e04c3fSmrg <field name="Width (pixels)" size="16" start="32" type="uint"/> 29201e04c3fSmrg <field name="Memory Address" size="32" start="0" type="address"/> 29301e04c3fSmrg </packet> 29401e04c3fSmrg 29501e04c3fSmrg <packet name="Tile Coordinates" code="115" cl="R"> 29601e04c3fSmrg <field name="Tile Row Number" size="8" start="8" type="uint"/> 29701e04c3fSmrg <field name="Tile Column Number" size="8" start="0" type="uint"/> 29801e04c3fSmrg </packet> 29901e04c3fSmrg 30001e04c3fSmrg <packet name="Gem Relocations" code="254" cl="B"> 30101e04c3fSmrg <field name="buffer 1" size="32" start="32" type="uint"/> 30201e04c3fSmrg <field name="buffer 0" size="32" start="0" type="uint"/> 30301e04c3fSmrg </packet> 30401e04c3fSmrg 30501e04c3fSmrg <struct name="Shader Record"> 30601e04c3fSmrg <field name="Fragment Shader is single threaded" size="1" start="0" type="bool"/> 30701e04c3fSmrg <field name="Point Size included in shaded vertex data" size="1" start="1" type="bool"/> 30801e04c3fSmrg <field name="Enable Clipping" size="1" start="2" type="bool"/> 30901e04c3fSmrg 31001e04c3fSmrg <field name="Fragment Shader Number of Uniforms (not used currently)" size="16" start="2b" type="uint"/> 31101e04c3fSmrg <field name="Fragment Shader Number of Varyings" size="8" start="3b" type="uint"/> 31201e04c3fSmrg <field name="Fragment Shader Code Address" size="32" start="4b" type="address"/> 31301e04c3fSmrg <!-- set up by the kernel --> 31401e04c3fSmrg <field name="Fragment Shader Uniforms Address" size="32" start="8b" type="uint"/> 31501e04c3fSmrg 31601e04c3fSmrg <field name="Vertex Shader Number of Uniforms (not used currently)" size="16" start="12b" type="uint"/> 31701e04c3fSmrg <field name="Vertex Shader Attribute Array select bits" size="8" start="14b" type="uint"/> 31801e04c3fSmrg <field name="Vertex Shader Total Attributes Size" size="8" start="15b" type="uint"/> 31901e04c3fSmrg <field name="Vertex Shader Code Address" size="32" start="16b" type="address"/> 32001e04c3fSmrg <!-- set up by the kernel --> 32101e04c3fSmrg <field name="Vertex Shader Uniforms Address" size="32" start="16b" type="uint"/> 32201e04c3fSmrg 32301e04c3fSmrg <field name="Coordinate Shader Number of Uniforms (not used currently)" size="16" start="24b" type="uint"/> 32401e04c3fSmrg <field name="Coordinate Shader Attribute Array select bits" size="8" start="26b" type="uint"/> 32501e04c3fSmrg <field name="Coordinate Shader Total Attributes Size" size="8" start="27b" type="uint"/> 32601e04c3fSmrg <field name="Coordinate Shader Code Address" size="32" start="28b" type="address"/> 32701e04c3fSmrg <!-- set up by the kernel --> 32801e04c3fSmrg <field name="Coordinate Shader Uniforms Address" size="32" start="32b" type="uint"/> 32901e04c3fSmrg </struct> 33001e04c3fSmrg 33101e04c3fSmrg <struct name="Attribute Record"> 33201e04c3fSmrg <field name="Address" size="32" start="0b" type="address"/> 33301e04c3fSmrg <field name="Number of Bytes minus 1" size="8" start="4b" type="uint"/> 33401e04c3fSmrg <field name="Stride" size="8" start="5b" type="uint"/> 33501e04c3fSmrg <field name="Vertex Shader VPM offset" size="8" start="6b" type="uint"/> 33601e04c3fSmrg <field name="Coordinate Shader VPM offset" size="8" start="7b" type="uint"/> 33701e04c3fSmrg </struct> 33801e04c3fSmrg 33901e04c3fSmrg</vcxml> 340