summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau/nvc0/mme
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2015-12-30 14:50:02 -0500
committerIlia Mirkin <[email protected]>2015-12-30 16:55:57 -0500
commit517a93b346e720082e22e358b63b5dbc5c42aa09 (patch)
tree70f55702a294779c01624c9dff9d0859ef9cf0a9 /src/gallium/drivers/nouveau/nvc0/mme
parent89bda9772d5b6f736d5f18e90a1ee4056438fe42 (diff)
nvc0: add ARB_shader_draw_parameters support
Signed-off-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau/nvc0/mme')
-rw-r--r--src/gallium/drivers/nouveau/nvc0/mme/com9097.mme8
-rw-r--r--src/gallium/drivers/nouveau/nvc0/mme/com9097.mme.h18
2 files changed, 17 insertions, 9 deletions
diff --git a/src/gallium/drivers/nouveau/nvc0/mme/com9097.mme b/src/gallium/drivers/nouveau/nvc0/mme/com9097.mme
index b2060d1fa53..8c647d0c66c 100644
--- a/src/gallium/drivers/nouveau/nvc0/mme/com9097.mme
+++ b/src/gallium/drivers/nouveau/nvc0/mme/com9097.mme
@@ -241,8 +241,10 @@ locn_0f_ts:
parm $r2 /* instance_count */
parm $r4 maddr 0x5f7 /* INDEX_BATCH_FIRST, start */
parm $r4 send $r4 /* index_bias, send start */
+ maddr 0x8e4 /* CB_DATA */
braz $r2 #dei_end
- parm $r5 /* start_instance */
+ parm $r5 send $r4 /* start_instance, send index_bias */
+ send $r5 /* send start_instance */
read $r6 0x50d /* VB_ELEMENT_BASE */
read $r7 0x50e /* VB_INSTANCE_BASE */
maddr 0x150d /* VB_ELEMENT,INSTANCE_BASE */
@@ -283,8 +285,10 @@ dei_end:
parm $r2 /* count */
parm $r3 /* instance_count */
parm $r4 maddr 0x35d /* VERTEX_BUFFER_FIRST, start */
- parm $r4 send $r4 /* start_instance */
braz $r3 #dai_end
+ parm $r4 send $r4 /* start_instance */
+ maddrsend 0x8e4 /* CB_DATA, send 0 as base_vertex */
+ send $r4 /* send start_instance */
read $r6 0x50e /* VB_INSTANCE_BASE */
maddr 0x50e /* VB_INSTANCE_BASE */
mov $r5 0x1
diff --git a/src/gallium/drivers/nouveau/nvc0/mme/com9097.mme.h b/src/gallium/drivers/nouveau/nvc0/mme/com9097.mme.h
index bac9042c2df..acad303ce60 100644
--- a/src/gallium/drivers/nouveau/nvc0/mme/com9097.mme.h
+++ b/src/gallium/drivers/nouveau/nvc0/mme/com9097.mme.h
@@ -128,11 +128,13 @@ uint32_t mme9097_draw_elts_indirect[] = {
0x00000301,
0x00000201,
0x017dc451,
-/* 0x000e: dei_again */
0x00002431,
- 0x0005d007,
- 0x00000501,
-/* 0x001b: dei_end */
+/* 0x0010: dei_again */
+ 0x02390021,
+ 0x00061007,
+ 0x00002531,
+/* 0x001d: dei_end */
+ 0x00002841,
0x01434615,
0x01438715,
0x05434021,
@@ -161,11 +163,13 @@ uint32_t mme9097_draw_elts_indirect[] = {
uint32_t mme9097_draw_arrays_indirect[] = {
0x00000201,
0x00000301,
-/* 0x0009: dai_again */
+/* 0x000b: dai_again */
0x00d74451,
+ 0x00049807,
0x00002431,
-/* 0x0013: dai_end */
- 0x0003d807,
+/* 0x0015: dai_end */
+ 0x02390071,
+ 0x00002041,
0x01438615,
0x01438021,
0x00004511,