Path: blob/21.2-virgl/src/broadcom/cle/v3d_packet_v21.xml
4560 views
<vcxml gen="2.1" min_ver="21" max_ver="21">12<enum name="Compare Function" prefix="V3D_COMPARE_FUNC">3<value name="NEVER" value="0"/>4<value name="LESS" value="1"/>5<value name="EQUAL" value="2"/>6<value name="LEQUAL" value="3"/>7<value name="GREATER" value="4"/>8<value name="NOTEQUAL" value="5"/>9<value name="GEQUAL" value="6"/>10<value name="ALWAYS" value="7"/>11</enum>1213<enum name="Primitive" prefix="V3D_PRIM">14<value name="POINTS" value="0"/>15<value name="LINES" value="1"/>16<value name="LINE_LOOP" value="2"/>17<value name="LINE_STRIP" value="3"/>18<value name="TRIANGLES" value="4"/>19<value name="TRIANGLE_STRIP" value="5"/>20<value name="TRIANGLE_FAN" value="6"/>21</enum>2223<packet name="Halt" code="0"/>24<packet name="NOP" code="1"/>25<packet name="Flush" code="4" cl="B"/>26<packet name="Flush All State" code="5" cl="B"/>27<packet name="Start Tile Binning" code="6" cl="B"/>28<packet name="Increment Semaphore" code="7"/>29<packet name="Wait on Semaphore" code="8"/>30<packet name="Branch" code="16">31<field name="Address" size="32" start="0" type="address"/>32</packet>33<packet name="Branch to sub-list" code="17">34<field name="Address" size="32" start="0" type="address"/>35</packet>36<packet name="Return from sub-list" code="18"/>3738<packet name="Store Multi-sample Resolved Tile Color Buffer" code="24" cl="R"/>39<packet name="Store Multi-sample Resolved Tile Color Buffer and EOF" code="25" cl="R"/>4041<packet name="Store Full Resolution Tile Buffer" cl="R" code="26">42<field name="Address" size="28" start="4" type="address"/>43<field name="Last Tile" size="1" start="3" type="bool"/>44<field name="Disable Clear on Write" size="1" start="2" type="bool"/>45<field name="Disable Z/Stencil Buffer write" size="1" start="1" type="bool"/>46<field name="Disable Color Buffer write" size="1" start="0" type="bool"/>47</packet>4849<packet name="Re-load Full Resolution Tile Buffer" cl="R" code="27">50<field name="Address" size="28" start="4" type="address"/>51<field name="Disable Z/Stencil Buffer read" size="1" start="1" type="bool"/>52<field name="Disable Color Buffer read" size="1" start="0" type="bool"/>53</packet>5455<packet name="Store Tile Buffer General" code="28" cl="R">56<field name="Memory base address of frame/tile dump buffer" size="28" start="20" type="address"/>57<field name="Last Tile of Frame" size="1" start="19" type="bool"/>58<field name="Disable VG-Mask buffer dump" size="1" start="18" type="bool"/>59<field name="Disable Z/Stencil buffer dump" size="1" start="17" type="bool"/>60<field name="Disable Color buffer dump" size="1" start="16" type="bool"/>61<field name="Disable VG-Mask buffer clear on store/dump" size="1" start="15" type="bool"/>62<field name="Disable Z/Stencil buffer clear on store/dump" size="1" start="14" type="bool"/>63<field name="Disable Color buffer clear on store/dump" size="1" start="13" type="bool"/>6465<field name="Pixel Color Format" size="2" start="8" type="uint">66<value name="rgba8888" value="0"/>67<value name="bgr565 dithered" value="1"/>68<value name="bgr565 no dither" value="2"/>69</field>7071<field name="Mode" size="2" start="6" type="uint">72<value name="Sample 0" value="0"/>73<value name="Decimate x4" value="1"/>74<value name="Decimate x16" value="2"/>75</field>7677<field name="Format" size="2" start="4" type="uint">78<value name="Raster" value="0"/>79<value name="T" value="1"/>80<value name="LT" value="2"/>81</field>8283<field name="Buffer to Store" size="3" start="0" type="uint">84<value name="None" value="0"/>85<value name="Color" value="1"/>86<value name="Z/stencil" value="2"/>87<value name="Z" value="3"/>88<value name="VG-Mask" value="4"/>89</field>90</packet>9192<packet name="Load Tile Buffer General" code="29" cl="R">93<field name="Memory base address of frame/tile dump buffer" size="28" start="20" type="address"/>94<field name="Disable VG-Mask buffer load" size="1" start="18" type="bool"/>95<field name="Disable Z/Stencil buffer load" size="1" start="17" type="bool"/>96<field name="Disable Color buffer load" size="1" start="16" type="bool"/>9798<field name="Pixel Color Format" size="2" start="8" type="uint">99<value name="rgba8888" value="0"/>100<value name="bgr565 dithered" value="1"/>101<value name="bgr565 no dither" value="2"/>102</field>103104<field name="Mode" size="2" start="6" type="uint">105<value name="Sample 0" value="0"/>106<value name="Decimate x4" value="1"/>107<value name="Decimate x16" value="2"/>108</field>109110<field name="Format" size="2" start="4" type="uint">111<value name="Raster" value="0"/>112<value name="T" value="1"/>113<value name="LT" value="2"/>114</field>115116<field name="Buffer to Store" size="3" start="0" type="uint">117<value name="None" value="0"/>118<value name="Color" value="1"/>119<value name="Z/stencil" value="2"/>120<value name="Z" value="3"/>121<value name="VG-Mask" value="4"/>122</field>123</packet>124125<packet name="Indexed Primitive List" code="32">126<field name="Maximum Index" size="32" start="72" type="uint"/>127<field name="Address of Indices List" size="32" start="40" type="uint"/>128<field name="Length" size="32" start="8" type="uint"/>129<field name="Index type" size="4" start="4" type="uint">130<value name="8-bit" value="0"/>131<value name="16-bit" value="1"/>132</field>133<field name="Primitive mode" size="4" start="0" type="Primitive"/>134</packet>135136<packet name="Vertex Array Primitives" code="33">137<field name="Index of First Vertex" size="32" start="40" type="uint"/>138<field name="Length" size="32" start="8" type="uint"/>139<field name="Primitive mode" size="4" start="0" type="Primitive"/>140</packet>141142<packet name="Primitive List Format" cl="R" code="56">143<field name="Data Type" size="4" start="4" type="uint">144<value name="16-bit index" value="1"/>145<value name="32-bit x/y" value="3"/>146</field>147148<field name="Primitive Type" size="4" start="0" type="uint">149<value name="Points List" value="0"/>150<value name="Lines List" value="1"/>151<value name="Triangles List" value="2"/>152<value name="RHY List" value="3"/>153</field>154</packet>155156<packet name="GL Shader State" code="64">157<!-- The address field will be filled in by kernel validation code. -->158<field name="Address" size="28" start="0" type="uint"/>159<field name="Extended shader record" size="1" start="3" type="bool"/>160<field name="Number of attribute arrays" size="3" start="0" type="uint"/>161</packet>162163<packet name="Clear Colors" cl="R" code="114">164<field name="Clear Stencil" size="8" start="96" type="uint"/>165<field name="Clear VG Mask" size="8" start="88" type="uint"/>166<field name="Clear ZS" size="24" start="64" type="uint"/>167<field name="Clear Color" size="64" start="0" type="uint"/>168</packet>169170<packet name="Configuration Bits" code="96">171<field name="Early Z updates enable" size="1" start="17" type="bool"/>172<field name="Early Z enable" size="1" start="16" type="bool"/>173<field name="Z updates enable" size="1" start="15" type="bool"/>174<field name="Depth-Test Function" size="3" start="12" type="Compare Function"/>175<field name="Coverage Read Mode" size="1" start="11" type="uint"/>176<!-- add values -->177<field name="Coverage Pipe Select" size="1" start="8" type="bool"/>178<field name="Rasteriser Oversample Mode" size="2" start="6" type="uint"/>179<!-- add values -->180<field name="Coverage Read Type" size="1" start="5" type="uint"/>181<!-- add values -->182<field name="Antialiased Points and Lines" size="1" start="4" type="bool"/>183<field name="Enable Depth Offset" size="1" start="3" type="bool"/>184<field name="Clockwise Primitives" size="1" start="2" type="bool"/>185<field name="Enable Reverse Facing Primitive" size="1" start="1" type="bool"/>186<field name="Enable Forward Facing Primitive" size="1" start="0" type="bool"/>187</packet>188189<packet name="Flat Shade Flags" code="97">190<field name="Flat-shading Flags" size="32" start="0" type="uint"/>191</packet>192193<packet name="Point size" code="98">194<field name="Point Size" size="32" start="0" type="float"/>195</packet>196197<packet name="Line width" code="99">198<field name="Line width" size="32" start="0" type="float"/>199</packet>200201<packet name="RHT X boundary" code="100">202<field name="RHT primitive X boundary" size="16" start="0" type="int"/>203</packet>204205<packet name="Depth Offset" code="101">206<!-- these fields are both float-1-8-7 encoded (top 16 bits of a float32) -->207<field name="Depth Offset Units" size="16" start="16" type="uint"/>208<field name="Depth Offset Factor" size="16" start="0" type="uint"/>209</packet>210211<packet name="Clip Window" code="102">212<field name="Clip Window Height in pixels" size="16" start="48" type="uint"/>213<field name="Clip Window Width in pixels" size="16" start="32" type="uint"/>214<field name="Clip Window Bottom Pixel Coordinate" size="16" start="16" type="uint"/>215<field name="Clip Window Left Pixel Coordinate" size="16" start="0" type="uint"/>216</packet>217218<packet name="Viewport Offset" code="103">219<field name="Viewport Centre Y-coordinate" size="16" start="16" type="s12.4"/>220<field name="Viewport Centre X-coordinate" size="16" start="0" type="s12.4"/>221</packet>222223<packet name="Z min and max clipping planes" code="104">224<field name="Maximum Zw" size="32" start="32" type="float"/>225<field name="Minimum Zw" size="32" start="0" type="float"/>226</packet>227228<packet name="Clipper XY Scaling" code="105" cl="B">229<field name="Viewport Half-Height in 1/16th of pixel" size="32" start="32" type="float"/>230<field name="Viewport Half-Width in 1/16th of pixel" size="32" start="0" type="float"/>231</packet>232233<packet name="Clipper Z Scale and Offset" code="106" cl="B">234<field name="Viewport Z Offset (Zc to Zs)" size="32" start="32" type="float"/>235<field name="Viewport Z Scale (Zc to Zs)" size="32" start="0" type="float"/>236</packet>237238<packet name="Tile Binning Mode Configuration" code="112" cl="B">239<field name="Double-buffer in non-ms mode" size="1" start="119" type="bool"/>240241<field name="Tile Allocation Block Size" size="2" start="117" type="uint">242<value name="block size 32" value="0"/>243<value name="block size 64" value="1"/>244<value name="block size 128" value="2"/>245<value name="block size 256" value="3"/>246</field>247248<field name="Tile Allocation Initial Block Size" size="2" start="115" type="uint">249<value name="block size 32" value="0"/>250<value name="block size 64" value="1"/>251<value name="block size 128" value="2"/>252<value name="block size 256" value="3"/>253</field>254255<field name="Auto-initialise Tile State Data Array" size="1" start="114" type="bool"/>256<field name="Tile Buffer 64-bit Color Depth" size="1" start="113" type="bool"/>257<field name="Multisample Mode (4x)" size="1" start="112" type="bool"/>258259<field name="Height (in tiles)" size="8" start="104" type="uint"/>260<field name="Width (in tiles)" size="8" start="96" type="uint"/>261262<field name="Tile State Data Array Address" size="32" start="64" type="uint"/>263<field name="Tile Allocation memory size" size="32" start="32" type="uint"/>264<field name="Tile Allocation memory address" size="32" start="0" type="uint"/>265266</packet>267268<packet name="Tile Rendering Mode Configuration" code="113" cl="R">269<field name="Double-buffer in non-ms mode" size="1" start="76" type="bool"/>270<field name="Early-Z/Early-Cov disable" size="1" start="75" type="bool"/>271<field name="Early-Z Update Direction GT/GE" size="1" start="74" type="bool"/>272<field name="Select Coverage Mode" size="1" start="73" type="bool"/>273<field name="Enable VG Mask Buffer" size="1" start="72" type="bool"/>274<field name="Memory Format" size="2" start="70" type="uint">275<value name="Raster" value="0"/>276<value name="T" value="1"/>277<value name="LT" value="2"/>278</field>279<field name="Decimate Mode" size="2" start="68" type="uint"/>280281<field name="Non-HDR Frame Buffer Color Format" size="2" start="66" type="uint">282<value name="rendering config bgr565 dithered" value="0"/>283<value name="rendering config rgba8888" value="1"/>284<value name="rendering config bgr565 no dither" value="2"/>285</field>286287<field name="Tile Buffer 64-bit Color Depth" size="1" start="65" type="bool"/>288<field name="Multisample Mode (4x)" size="1" start="64" type="bool"/>289<field name="Height (pixels)" size="16" start="48" type="uint"/>290<field name="Width (pixels)" size="16" start="32" type="uint"/>291<field name="Memory Address" size="32" start="0" type="address"/>292</packet>293294<packet name="Tile Coordinates" code="115" cl="R">295<field name="Tile Row Number" size="8" start="8" type="uint"/>296<field name="Tile Column Number" size="8" start="0" type="uint"/>297</packet>298299<packet name="Gem Relocations" code="254" cl="B">300<field name="buffer 1" size="32" start="32" type="uint"/>301<field name="buffer 0" size="32" start="0" type="uint"/>302</packet>303304<struct name="Shader Record">305<field name="Fragment Shader is single threaded" size="1" start="0" type="bool"/>306<field name="Point Size included in shaded vertex data" size="1" start="1" type="bool"/>307<field name="Enable Clipping" size="1" start="2" type="bool"/>308309<field name="Fragment Shader Number of Uniforms (not used currently)" size="16" start="2b" type="uint"/>310<field name="Fragment Shader Number of Varyings" size="8" start="3b" type="uint"/>311<field name="Fragment Shader Code Address" size="32" start="4b" type="address"/>312<!-- set up by the kernel -->313<field name="Fragment Shader Uniforms Address" size="32" start="8b" type="uint"/>314315<field name="Vertex Shader Number of Uniforms (not used currently)" size="16" start="12b" type="uint"/>316<field name="Vertex Shader Attribute Array select bits" size="8" start="14b" type="uint"/>317<field name="Vertex Shader Total Attributes Size" size="8" start="15b" type="uint"/>318<field name="Vertex Shader Code Address" size="32" start="16b" type="address"/>319<!-- set up by the kernel -->320<field name="Vertex Shader Uniforms Address" size="32" start="16b" type="uint"/>321322<field name="Coordinate Shader Number of Uniforms (not used currently)" size="16" start="24b" type="uint"/>323<field name="Coordinate Shader Attribute Array select bits" size="8" start="26b" type="uint"/>324<field name="Coordinate Shader Total Attributes Size" size="8" start="27b" type="uint"/>325<field name="Coordinate Shader Code Address" size="32" start="28b" type="address"/>326<!-- set up by the kernel -->327<field name="Coordinate Shader Uniforms Address" size="32" start="32b" type="uint"/>328</struct>329330<struct name="Attribute Record">331<field name="Address" size="32" start="0b" type="address"/>332<field name="Number of Bytes minus 1" size="8" start="4b" type="uint"/>333<field name="Stride" size="8" start="5b" type="uint"/>334<field name="Vertex Shader VPM offset" size="8" start="6b" type="uint"/>335<field name="Coordinate Shader VPM offset" size="8" start="7b" type="uint"/>336</struct>337338</vcxml>339340341