diff options
author | Eric Anholt <[email protected]> | 2018-12-07 21:37:26 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2018-12-14 17:48:01 -0800 |
commit | 5b2cc038522de2bd4b522d6376aef34c65af02d5 (patch) | |
tree | af29ec55ce3a14b1fb57f7e2683ae26f5ab6398b /src/broadcom/cle | |
parent | ff80e58b38a13c97a4ee598497e3e7b886918087 (diff) |
v3d: Add support for draw indirect for GLES3.1.
In trying to enable compute shaders, I found that a bunch of deqp-gles31's
compute stuff wanted to interact with indirect dispatch. This was easy to
do on its own.
Diffstat (limited to 'src/broadcom/cle')
-rw-r--r-- | src/broadcom/cle/v3d_packet_v33.xml | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/broadcom/cle/v3d_packet_v33.xml b/src/broadcom/cle/v3d_packet_v33.xml index a5fb4eaae52..9258534a2e6 100644 --- a/src/broadcom/cle/v3d_packet_v33.xml +++ b/src/broadcom/cle/v3d_packet_v33.xml @@ -457,6 +457,37 @@ <field name="mode" size="6" start="0" type="Primitive"/> </packet> + <packet code="33" name="Indirect Indexed Instanced Prim List" cl="B" max_ver="33"> + <field name="Stride in Multiples of 4 Bytes" size="8" start="104" type="uint"/> + <field name="Address of Indices List" size="32" start="72" type="address"/> + <field name="Address" size="32" start="40" type="address"/> + <field name="Enable Primitive Restarts" size="1" start="39" type="bool"/> + <field name="Number of Draw Indirect Indexed Records" size="31" start="8" type="uint"/> + + <field name="Index type" size="2" start="6" type="uint"> + <value name="Index type 8-bit" value="0"/> + <value name="Index type 16-bit" value="1"/> + <value name="Index type 32-bit" value="2"/> + </field> + + <field name="mode" size="6" start="0" type="Primitive"/> + </packet> + + <packet code="33" name="Indirect Indexed Instanced Prim List" cl="B" min_ver="41"> + <field name="Stride in Multiples of 4 Bytes" size="8" start="72" type="uint"/> + <field name="Address" size="32" start="40" type="address"/> + <field name="Enable Primitive Restarts" size="1" start="39" type="bool"/> + <field name="Number of Draw Indirect Indexed Records" size="31" start="8" type="uint"/> + + <field name="Index type" size="2" start="6" type="uint"> + <value name="Index type 8-bit" value="0"/> + <value name="Index type 16-bit" value="1"/> + <value name="Index type 32-bit" value="2"/> + </field> + + <field name="mode" size="6" start="0" type="Primitive"/> + </packet> + <packet code="34" name="Indexed Instanced Prim List" cl="B" max_ver="33"> <field name="Enable Primitive Restarts" size="1" start="135" type="bool"/> <field name="Maximum index" size="31" start="104" type="uint"/> @@ -495,6 +526,14 @@ <field name="mode" size="8" start="0" type="Primitive"/> </packet> + <packet code="37" name="Indirect Vertex Array Instanced Prims" cl="B"> + <field name="Stride in Multiples of 4 Bytes" size="8" start="72" type="uint"/> + <field name="Address" size="32" start="40" type="address"/> + <field name="Number of Draw Indirect Array Records" size="32" start="8" type="uint"/> + + <field name="mode" size="8" start="0" type="Primitive"/> + </packet> + <packet code="38" name="Vertex Array Instanced Prims" cl="B"> <field name="Index of First Vertex" size="32" start="72" type="uint"/> <field name="Number of Instances" size="32" start="40" type="uint"/> |