<enum name="Decimate Mode" prefix="V3D_DECIMATE_MODE">
<value name="sample 0" value="0"/>
<value name="4x" value="1"/>
- <value name="16x" value="2"/>
<value name="all samples" value="3"/>
</enum>
<value name="depth24_stencil8" value="3"/> <!-- stencil low, depth high -->
</enum>
+ <enum name="Dither Mode" prefix="V3D_DITHER_MODE">
+ <value name="None" value="0"/>
+ <value name="RGB" value="1"/>
+ <value name="A" value="2"/>
+ <value name="RGBA" value="3"/>
+ </enum>
+
<packet code="0" name="Halt"/>
<packet code="1" name="NOP"/>
<packet code="4" name="Flush"/>
<field name="Decimate mode" size="2" start="10" type="Decimate Mode"/>
- <field name="A dithered" size="1" start="9" type="bool"/>
- <field name="BGR dithered" size="1" start="8" type="bool"/>
+ <field name="Dither Mode" size="2" start="8" type="Dither Mode"/>
<field name="Flip Y" size="1" start="7" type="bool"/>
</field>
</packet>
+ <packet code="31" name="Transform Feedback Flush and Count"/>
+
<packet code="32" name="Indexed Primitive List" cl="B" max_ver="33">
<field name="Minimum index" size="32" start="104" type="uint"/>
<field name="Enable Primitive Restarts" size="1" start="103" type="bool"/>
</packet>
<packet code="56" name="Primitive List Format">
- <field name="data type" size="1" start="6" type="uint">
- <value name="List Indexed" value="0"/>
- <value name="List 32-bit X/Y" value="1"/>
- </field>
+ <field name="tri strip or fan" size="1" start="7" type="bool"/>
<field name="primitive type" size="6" start="0" type="uint">
<value name="List Points" value="0"/>
<value name="List Lines" value="1"/>
<packet code="75" name="Flush Transform Feedback Data"/>
- <struct name="Transform Feedback Output Data Spec">
+ <struct name="Transform Feedback Output Data Spec" max_ver="33">
+ <field name="First Shaded Vertex Value to output" size="8" start="0" type="uint"/>
+ <field name="Number of consecutive Vertex Values to output as 32-bit values" size="4" start="8" type="uint" minus_one="true"/>
+ <field name="Output Buffer to write to" size="2" start="12" type="uint"/>
+ </struct>
+
+ <struct name="Transform Feedback Output Data Spec" min_ver="41">
<field name="First Shaded Vertex Value to output" size="8" start="0" type="uint"/>
<field name="Number of consecutive Vertex Values to output as 32-bit values" size="4" start="8" type="uint" minus_one="true"/>
<field name="Output Buffer to write to" size="2" start="12" type="uint"/>
+ <field name="Stream number" size="2" start="14" type="uint"/>
</struct>
<struct name="Transform Feedback Output Address">
</packet>
<packet code="84" name="Blend Config" max_ver="33">
- <field name="VG Coverage Modes" size="2" start="28" type="uint"/>
<field name="Colour blend dst factor" size="4" start="20" type="Blend Factor"/>
<field name="Colour blend src factor" size="4" start="16" type="Blend Factor"/>
<field name="Colour blend mode" size="4" start="12" type="Blend Mode"/>
</packet>
<packet code="84" name="Blend Config" min_ver="41">
- <field name="VG Coverage Modes" size="2" start="28" type="uint"/>
<field name="Render Target Mask" size="4" start="24" type="uint"/>
<field name="Colour blend dst factor" size="4" start="20" type="Blend Factor"/>
<field name="Colour blend src factor" size="4" start="16" type="Blend Factor"/>
</packet>
<packet code="87" name="Colour Write Masks">
- <field name="Reserved" size="16" start="16" type="uint"/>
- <field name="Render Target 3 per colour component write masks" size="4" start="12" type="uint"/>
- <field name="Render Target 2 per colour component write masks" size="4" start="8" type="uint"/>
- <field name="Render Target 1 per colour component write masks" size="4" start="4" type="uint"/>
- <field name="Render Target 0 per colour component write masks" size="4" start="0" type="uint"/>
+ <field name="Mask" size="32" start="0" type="uint"/>
</packet>
<packet code="88" name="Zero All Centroid Flags" min_ver="41"/>
<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="Direct3D Wireframe triangles mode" size="1" start="11" type="bool"/>
- <field name="Coverage Update Mode" size="2" start="9" type="uint"/>
- <field name="Coverage Pipe Select" size="1" start="8" type="bool"/>
<field name="Rasterizer Oversample Mode" size="2" start="6" type="uint"/>
<field name="Line Rasterization" size="2" start="4" type="uint"/>
<field name="Enable Depth Offset" size="1" start="3" type="bool"/>
<packet code="100" name="Non-perspective Flags" min_ver="41">
<field name="Non-perspective Flags for varyings V0*24" size="24" start="8" type="uint"/>
<field name="Action for Non-perspective Flags of higher numbered varyings" size="2" start="6" type="Varying Flags Action"/>
- <field name="Action for Non-perspectivey Flags of lower numbered varyings" size="2" start="4" type="Varying Flags Action"/>
+ <field name="Action for Non-perspective Flags of lower numbered varyings" size="2" start="4" type="Varying Flags Action"/>
<field name="Varying offset V0" size="4" start="0" type="uint"/>
</packet>
<value name="Early-Z direction GT/GE" value="1"/>
</field>
- <field name="Select Coverage Mode" size="1" start="44" type="bool"/>
<field name="Double-buffer in non-ms mode" size="1" start="43" type="bool"/>
<field name="Multisample Mode (4x)" size="1" start="42" type="bool"/>
<value name="Early-Z direction GT/GE" value="1"/>
</field>
- <field name="Select Coverage Mode" size="1" start="44" type="bool"/>
<field name="Double-buffer in non-ms mode" size="1" start="43" type="bool"/>
<field name="Multisample Mode (4x)" size="1" start="42" type="bool"/>
<field name="Memory Format" size="3" start="24" type="Memory Format"/>
- <field name="A dithered" size="1" start="23" type="bool"/>
- <field name="BGR dithered" size="1" start="22" type="bool"/>
+ <field name="Dither Mode" size="2" start="22" type="Dither Mode"/>
<field name="Output image format" size="6" start="16" type="Output Image Format"/>
<field name="Z Clear Value" size="32" start="16" type="float"/>
- <field name="Stencil/VG Mask Clear Value" size="8" start="8" type="uint"/>
+ <field name="Stencil Clear Value" size="8" start="8" type="uint"/>
<field name="sub-id" size="4" start="0" type="uint" default="3"/>
</packet>
<field name="Z Clear Value" size="32" start="16" type="float"/>
- <field name="Stencil/VG Mask Clear Value" size="8" start="8" type="uint"/>
+ <field name="Stencil Clear Value" size="8" start="8" type="uint"/>
<field name="sub-id" size="4" start="0" type="uint" default="2"/>
</packet>
</packet>
<packet code="122" name="Multicore Rendering Supertile Configuration" cl="R">
+ <field name="Number of Bin Tile Lists" size="3" start="61" type="uint" minus_one="true"/>
<field name="Supertile Raster Order" size="1" start="60" type="bool"/>
<field name="Multicore Enable" size="1" start="56" type="bool"/>
<field name="Turn off scoreboard" size="1" start="16" type="bool"/>
<field name="Do scoreboard wait on first thread switch" size="1" start="17" type="bool"/>
<field name="Disable implicit point/line varyings" size="1" start="18" type="bool"/>
+ <field name="No prim pack" size="1" start="19" type="bool"/>
<field name="Number of varyings in Fragment Shader" size="8" start="3b" type="uint"/>
<field name="Address of default attribute values" size="32" start="8b" type="address"/>
- <field name="Fragment Shader Code Address" size="32" start="12b" type="address"/>
+ <field name="Fragment Shader Code Address" size="29" start="99" type="address"/>
<field name="Fragment Shader 4-way threadable" size="1" start="96" type="bool"/>
<field name="Fragment Shader start in final thread section" size="1" start="97" type="bool"/>
<field name="Fragment Shader Propagate NaNs" size="1" start="98" type="bool"/>
<field name="Fragment Shader Uniforms Address" size="32" start="16b" type="address"/>
- <field name="Vertex Shader Code Address" size="32" start="20b" type="address"/>
+ <field name="Vertex Shader Code Address" size="29" start="163" type="address"/>
<field name="Vertex Shader 4-way threadable" size="1" start="160" type="bool"/>
<field name="Vertex Shader start in final thread section" size="1" start="161" type="bool"/>
<field name="Vertex Shader Propagate NaNs" size="1" start="162" type="bool"/>
<field name="Vertex Shader Uniforms Address" size="32" start="24b" type="address"/>
- <field name="Coordinate Shader Code Address" size="32" start="28b" type="address"/>
+ <field name="Coordinate Shader Code Address" size="29" start="227" type="address"/>
<field name="Coordinate Shader 4-way threadable" size="1" start="224" type="bool"/>
<field name="Coordinate Shader start in final thread section" size="1" start="225" type="bool"/>
<field name="Coordinate Shader Propagate NaNs" size="1" start="226" type="bool"/>