mesa/src/broadcom/cle/v3d_packet_v21.xml
Eric Anholt 725561c0b6 v3d: Switch v3d_decoder.c to the XML's top min_ver/max_ver fields.
The XML zipper wants one XML per version for filling out its tables, but
we want to do more than one GPU version per XML now.  Assume that the
"gen" field will be the same as min_ver and look up our XML text assuming
that they're listed in increasing min_ver.
2018-06-29 13:36:28 -07:00

339 lines
15 KiB
XML

<vcxml gen="2.1" min_ver="21" max_ver="21">
<enum name="Compare Function" prefix="V3D_COMPARE_FUNC">
<value name="NEVER" value="0"/>
<value name="LESS" value="1"/>
<value name="EQUAL" value="2"/>
<value name="LEQUAL" value="3"/>
<value name="GREATER" value="4"/>
<value name="NOTEQUAL" value="5"/>
<value name="GEQUAL" value="6"/>
<value name="ALWAYS" value="7"/>
</enum>
<enum name="Primitive" prefix="V3D_PRIM">
<value name="POINTS" value="0"/>
<value name="LINES" value="1"/>
<value name="LINE_LOOP" value="2"/>
<value name="LINE_STRIP" value="3"/>
<value name="TRIANGLES" value="4"/>
<value name="TRIANGLE_STRIP" value="5"/>
<value name="TRIANGLE_FAN" value="6"/>
</enum>
<packet name="Halt" code="0"/>
<packet name="NOP" code="1"/>
<packet name="Flush" code="4" cl="B"/>
<packet name="Flush All State" code="5" cl="B"/>
<packet name="Start Tile Binning" code="6" cl="B"/>
<packet name="Increment Semaphore" code="7"/>
<packet name="Wait on Semaphore" code="8"/>
<packet name="Branch" code="16">
<field name="Address" size="32" start="0" type="address"/>
</packet>
<packet name="Branch to sub-list" code="17">
<field name="Address" size="32" start="0" type="address"/>
</packet>
<packet name="Return from sub-list" code="18"/>
<packet name="Store Multi-sample Resolved Tile Color Buffer" code="24" cl="R"/>
<packet name="Store Multi-sample Resolved Tile Color Buffer and EOF" code="25" cl="R"/>
<packet name="Store Full Resolution Tile Buffer" cl="R" code="26">
<field name="Address" size="28" start="4" type="address"/>
<field name="Last Tile" size="1" start="3" type="bool"/>
<field name="Disable Clear on Write" size="1" start="2" type="bool"/>
<field name="Disable Z/Stencil Buffer write" size="1" start="1" type="bool"/>
<field name="Disable Color Buffer write" size="1" start="0" type="bool"/>
</packet>
<packet name="Re-load Full Resolution Tile Buffer" cl="R" code="27">
<field name="Address" size="28" start="4" type="address"/>
<field name="Disable Z/Stencil Buffer read" size="1" start="1" type="bool"/>
<field name="Disable Color Buffer read" size="1" start="0" type="bool"/>
</packet>
<packet name="Store Tile Buffer General" code="28" cl="R">
<field name="Memory base address of frame/tile dump buffer" size="28" start="20" type="address"/>
<field name="Last Tile of Frame" size="1" start="19" type="bool"/>
<field name="Disable VG-Mask buffer dump" size="1" start="18" type="bool"/>
<field name="Disable Z/Stencil buffer dump" size="1" start="17" type="bool"/>
<field name="Disable Color buffer dump" size="1" start="16" type="bool"/>
<field name="Disable VG-Mask buffer clear on store/dump" size="1" start="15" type="bool"/>
<field name="Disable Z/Stencil buffer clear on store/dump" size="1" start="14" type="bool"/>
<field name="Disable Color buffer clear on store/dump" size="1" start="13" type="bool"/>
<field name="Pixel Color Format" size="2" start="8" type="uint">
<value name="rgba8888" value="0"/>
<value name="bgr565 dithered" value="1"/>
<value name="bgr565 no dither" value="2"/>
</field>
<field name="Mode" size="2" start="6" type="uint">
<value name="Sample 0" value="0"/>
<value name="Decimate x4" value="1"/>
<value name="Decimate x16" value="2"/>
</field>
<field name="Format" size="2" start="4" type="uint">
<value name="Raster" value="0"/>
<value name="T" value="1"/>
<value name="LT" value="2"/>
</field>
<field name="Buffer to Store" size="3" start="0" type="uint">
<value name="None" value="0"/>
<value name="Color" value="1"/>
<value name="Z/stencil" value="2"/>
<value name="Z" value="3"/>
<value name="VG-Mask" value="4"/>
</field>
</packet>
<packet name="Load Tile Buffer General" code="29" cl="R">
<field name="Memory base address of frame/tile dump buffer" size="28" start="20" type="address"/>
<field name="Disable VG-Mask buffer load" size="1" start="18" type="bool"/>
<field name="Disable Z/Stencil buffer load" size="1" start="17" type="bool"/>
<field name="Disable Color buffer load" size="1" start="16" type="bool"/>
<field name="Pixel Color Format" size="2" start="8" type="uint">
<value name="rgba8888" value="0"/>
<value name="bgr565 dithered" value="1"/>
<value name="bgr565 no dither" value="2"/>
</field>
<field name="Mode" size="2" start="6" type="uint">
<value name="Sample 0" value="0"/>
<value name="Decimate x4" value="1"/>
<value name="Decimate x16" value="2"/>
</field>
<field name="Format" size="2" start="4" type="uint">
<value name="Raster" value="0"/>
<value name="T" value="1"/>
<value name="LT" value="2"/>
</field>
<field name="Buffer to Store" size="3" start="0" type="uint">
<value name="None" value="0"/>
<value name="Color" value="1"/>
<value name="Z/stencil" value="2"/>
<value name="Z" value="3"/>
<value name="VG-Mask" value="4"/>
</field>
</packet>
<packet name="Indexed Primitive List" code="32">
<field name="Maximum Index" size="32" start="72" type="uint"/>
<field name="Address of Indices List" size="32" start="40" type="uint"/>
<field name="Length" size="32" start="8" type="uint"/>
<field name="Index type" size="4" start="4" type="uint">
<value name="8-bit" value="0"/>
<value name="16-bit" value="1"/>
</field>
<field name="Primitive mode" size="4" start="0" type="Primitive"/>
</packet>
<packet name="Vertex Array Primitives" code="33">
<field name="Index of First Vertex" size="32" start="40" type="uint"/>
<field name="Length" size="32" start="8" type="uint"/>
<field name="Primitive mode" size="4" start="0" type="Primitive"/>
</packet>
<packet name="Primitive List Format" cl="R" code="56">
<field name="Data Type" size="4" start="4" type="uint">
<value name="16-bit index" value="1"/>
<value name="32-bit x/y" value="3"/>
</field>
<field name="Primitive Type" size="4" start="0" type="uint">
<value name="Points List" value="0"/>
<value name="Lines List" value="1"/>
<value name="Triangles List" value="2"/>
<value name="RHY List" value="3"/>
</field>
</packet>
<packet name="GL Shader State" code="64">
<!-- The address field will be filled in by kernel validation code. -->
<field name="Address" size="28" start="0" type="uint"/>
<field name="Extended shader record" size="1" start="3" type="bool"/>
<field name="Number of attribute arrays" size="3" start="0" type="uint"/>
</packet>
<packet name="Clear Colors" cl="R" code="114">
<field name="Clear Stencil" size="8" start="96" type="uint"/>
<field name="Clear VG Mask" size="8" start="88" type="uint"/>
<field name="Clear ZS" size="24" start="64" type="uint"/>
<field name="Clear Color" size="64" start="0" type="uint"/>
</packet>
<packet name="Configuration Bits" code="96">
<field name="Early Z updates enable" size="1" start="17" type="bool"/>
<field name="Early Z enable" size="1" start="16" type="bool"/>
<field name="Z updates enable" size="1" start="15" type="bool"/>
<field name="Depth-Test Function" size="3" start="12" type="Compare Function"/>
<field name="Coverage Read Mode" size="1" start="11" type="uint"/>
<!-- add values -->
<field name="Coverage Pipe Select" size="1" start="8" type="bool"/>
<field name="Rasteriser Oversample Mode" size="2" start="6" type="uint"/>
<!-- add values -->
<field name="Coverage Read Type" size="1" start="5" type="uint"/>
<!-- add values -->
<field name="Antialiased Points and Lines" size="1" start="4" type="bool"/>
<field name="Enable Depth Offset" size="1" start="3" type="bool"/>
<field name="Clockwise Primitives" size="1" start="2" type="bool"/>
<field name="Enable Reverse Facing Primitive" size="1" start="1" type="bool"/>
<field name="Enable Forward Facing Primitive" size="1" start="0" type="bool"/>
</packet>
<packet name="Flat Shade Flags" code="97">
<field name="Flat-shading Flags" size="32" start="0" type="uint"/>
</packet>
<packet name="Point size" code="98">
<field name="Point Size" size="32" start="0" type="float"/>
</packet>
<packet name="Line width" code="99">
<field name="Line width" size="32" start="0" type="float"/>
</packet>
<packet name="RHT X boundary" code="100">
<field name="RHT primitive X boundary" size="16" start="0" type="int"/>
</packet>
<packet name="Depth Offset" code="101">
<!-- these fields are both float-1-8-7 encoded (top 16 bits of a float32) -->
<field name="Depth Offset Units" size="16" start="16" type="uint"/>
<field name="Depth Offset Factor" size="16" start="0" type="uint"/>
</packet>
<packet name="Clip Window" code="102">
<field name="Clip Window Height in pixels" size="16" start="48" type="uint"/>
<field name="Clip Window Width in pixels" size="16" start="32" type="uint"/>
<field name="Clip Window Bottom Pixel Coordinate" size="16" start="16" type="uint"/>
<field name="Clip Window Left Pixel Coordinate" size="16" start="0" type="uint"/>
</packet>
<packet name="Viewport Offset" code="103">
<field name="Viewport Centre Y-coordinate" size="16" start="16" type="s12.4"/>
<field name="Viewport Centre X-coordinate" size="16" start="0" type="s12.4"/>
</packet>
<packet name="Z min and max clipping planes" code="104">
<field name="Maximum Zw" size="32" start="32" type="float"/>
<field name="Minimum Zw" size="32" start="0" type="float"/>
</packet>
<packet name="Clipper XY Scaling" code="105" cl="B">
<field name="Viewport Half-Height in 1/16th of pixel" size="32" start="32" type="float"/>
<field name="Viewport Half-Width in 1/16th of pixel" size="32" start="0" type="float"/>
</packet>
<packet name="Clipper Z Scale and Offset" code="106" cl="B">
<field name="Viewport Z Offset (Zc to Zs)" size="32" start="32" type="float"/>
<field name="Viewport Z Scale (Zc to Zs)" size="32" start="0" type="float"/>
</packet>
<packet name="Tile Binning Mode Configuration" code="112" cl="B">
<field name="Double-buffer in non-ms mode" size="1" start="119" type="bool"/>
<field name="Tile Allocation Block Size" size="2" start="117" type="uint">
<value name="block size 32" value="0"/>
<value name="block size 64" value="1"/>
<value name="block size 128" value="2"/>
<value name="block size 256" value="3"/>
</field>
<field name="Tile Allocation Initial Block Size" size="2" start="115" type="uint">
<value name="block size 32" value="0"/>
<value name="block size 64" value="1"/>
<value name="block size 128" value="2"/>
<value name="block size 256" value="3"/>
</field>
<field name="Auto-initialise Tile State Data Array" size="1" start="114" type="bool"/>
<field name="Tile Buffer 64-bit Color Depth" size="1" start="113" type="bool"/>
<field name="Multisample Mode (4x)" size="1" start="112" type="bool"/>
<field name="Height (in tiles)" size="8" start="104" type="uint"/>
<field name="Width (in tiles)" size="8" start="96" type="uint"/>
<field name="Tile State Data Array Address" size="32" start="64" type="uint"/>
<field name="Tile Allocation memory size" size="32" start="32" type="uint"/>
<field name="Tile Allocation memory address" size="32" start="0" type="uint"/>
</packet>
<packet name="Tile Rendering Mode Configuration" code="113" cl="R">
<field name="Double-buffer in non-ms mode" size="1" start="76" type="bool"/>
<field name="Early-Z/Early-Cov disable" size="1" start="75" type="bool"/>
<field name="Early-Z Update Direction GT/GE" size="1" start="74" type="bool"/>
<field name="Select Coverage Mode" size="1" start="73" type="bool"/>
<field name="Enable VG Mask Buffer" size="1" start="72" type="bool"/>
<field name="Memory Format" size="2" start="70" type="uint">
<value name="Raster" value="0"/>
<value name="T" value="1"/>
<value name="LT" value="2"/>
</field>
<field name="Decimate Mode" size="2" start="68" type="uint"/>
<field name="Non-HDR Frame Buffer Color Format" size="2" start="66" type="uint">
<value name="rendering config bgr565 dithered" value="0"/>
<value name="rendering config rgba8888" value="1"/>
<value name="rendering config bgr565 no dither" value="2"/>
</field>
<field name="Tile Buffer 64-bit Color Depth" size="1" start="65" type="bool"/>
<field name="Multisample Mode (4x)" size="1" start="64" type="bool"/>
<field name="Height (pixels)" size="16" start="48" type="uint"/>
<field name="Width (pixels)" size="16" start="32" type="uint"/>
<field name="Memory Address" size="32" start="0" type="address"/>
</packet>
<packet name="Tile Coordinates" code="115" cl="R">
<field name="Tile Row Number" size="8" start="8" type="uint"/>
<field name="Tile Column Number" size="8" start="0" type="uint"/>
</packet>
<packet name="Gem Relocations" code="254" cl="B">
<field name="buffer 1" size="32" start="32" type="uint"/>
<field name="buffer 0" size="32" start="0" type="uint"/>
</packet>
<struct name="Shader Record">
<field name="Fragment Shader is single threaded" size="1" start="0" type="bool"/>
<field name="Point Size included in shaded vertex data" size="1" start="1" type="bool"/>
<field name="Enable Clipping" size="1" start="2" type="bool"/>
<field name="Fragment Shader Number of Uniforms (not used currently)" size="16" start="2b" type="uint"/>
<field name="Fragment Shader Number of Varyings" size="8" start="3b" type="uint"/>
<field name="Fragment Shader Code Address" size="32" start="4b" type="address"/>
<!-- set up by the kernel -->
<field name="Fragment Shader Uniforms Address" size="32" start="8b" type="uint"/>
<field name="Vertex Shader Number of Uniforms (not used currently)" size="16" start="12b" type="uint"/>
<field name="Vertex Shader Attribute Array select bits" size="8" start="14b" type="uint"/>
<field name="Vertex Shader Total Attributes Size" size="8" start="15b" type="uint"/>
<field name="Vertex Shader Code Address" size="32" start="16b" type="address"/>
<!-- set up by the kernel -->
<field name="Vertex Shader Uniforms Address" size="32" start="16b" type="uint"/>
<field name="Coordinate Shader Number of Uniforms (not used currently)" size="16" start="24b" type="uint"/>
<field name="Coordinate Shader Attribute Array select bits" size="8" start="26b" type="uint"/>
<field name="Coordinate Shader Total Attributes Size" size="8" start="27b" type="uint"/>
<field name="Coordinate Shader Code Address" size="32" start="28b" type="address"/>
<!-- set up by the kernel -->
<field name="Coordinate Shader Uniforms Address" size="32" start="32b" type="uint"/>
</struct>
<struct name="Attribute Record">
<field name="Address" size="32" start="0b" type="address"/>
<field name="Number of Bytes minus 1" size="8" start="4b" type="uint"/>
<field name="Stride" size="8" start="5b" type="uint"/>
<field name="Vertex Shader VPM offset" size="8" start="6b" type="uint"/>
<field name="Coordinate Shader VPM offset" size="8" start="7b" type="uint"/>
</struct>
</vcxml>