summaryrefslogtreecommitdiffstats
path: root/src/broadcom/cle
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2018-12-07 21:37:26 -0800
committerEric Anholt <[email protected]>2018-12-14 17:48:01 -0800
commit5b2cc038522de2bd4b522d6376aef34c65af02d5 (patch)
treeaf29ec55ce3a14b1fb57f7e2683ae26f5ab6398b /src/broadcom/cle
parentff80e58b38a13c97a4ee598497e3e7b886918087 (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.xml39
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"/>