summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600d.h
diff options
context:
space:
mode:
authorGlenn Kennard <glenn.kennard@gmail.com>2015-02-24 15:59:16 +0100
committerMarek Olšák <marek.olsak@amd.com>2015-02-24 21:21:04 +0100
commitd80701df8af4a5d74c4f4eb09a4b3cef6970104b (patch)
tree7c8eec19f14608872e5c22f75c648ee901a6a4f1 /src/gallium/drivers/r600/r600d.h
parentdd70e786747f7e4800f4bba245373c5ffa3baeee (diff)
r600g: Implement GL_ARB_draw_indirect for EG/CM
Requires Evergreen/Cayman and radeon kernel module 2.41.0 or newer. Expected piglit fails due to hardware limitations: * arb_draw_indirect-draw-arrays-prim-restart Restarts not applied for DrawArrays commands * arb_draw_indirect-vertexid Base vertex offset is not included in vertex id Marek: bump vgt_state num_dw by 3 (= space needed for one register write) Signed-off-by: Glenn Kennard <glenn.kennard@gmail.com> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Diffstat (limited to 'src/gallium/drivers/r600/r600d.h')
-rw-r--r--src/gallium/drivers/r600/r600d.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600d.h b/src/gallium/drivers/r600/r600d.h
index 6a5b9640ee0..bce8b4ea065 100644
--- a/src/gallium/drivers/r600/r600d.h
+++ b/src/gallium/drivers/r600/r600d.h
@@ -52,12 +52,18 @@
#define PKT3_NOP 0x10
+#define EG_PKT3_SET_BASE 0x11 /* >= evergreen */
+#define EG_DRAW_INDEX_INDIRECT_PATCH_TABLE_BASE 1 /* DX11 Draw_Index_Indirect Patch Table Base */
+#define EG_PKT3_INDEX_BUFFER_SIZE 0x13
#define PKT3_INDIRECT_BUFFER_END 0x17
#define PKT3_SET_PREDICATION 0x20
#define PKT3_REG_RMW 0x21
#define PKT3_COND_EXEC 0x22
#define PKT3_PRED_EXEC 0x23
-#define PKT3_START_3D_CMDBUF 0x24
+#define PKT3_START_3D_CMDBUF 0x24 /* removed on evergreen */
+#define EG_PKT3_DRAW_INDIRECT 0x24 /* >= evergreen */
+#define EG_PKT3_DRAW_INDEX_INDIRECT 0x25
+#define EG_PKT3_INDEX_BASE 0x26
#define PKT3_DRAW_INDEX_2 0x27
#define PKT3_CONTEXT_CONTROL 0x28
#define PKT3_DRAW_INDEX_IMMD_BE 0x29