summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_commands.c
diff options
context:
space:
mode:
authorChristian Koenig <[email protected]>2012-09-20 17:20:51 +0200
committerChristian König <[email protected]>2012-09-26 11:05:35 +0200
commit421eeff4636ecc819c118b67136b97f0a922e6fd (patch)
tree176509bc5eda28a8b90454ded46b544c3a5d1422 /src/gallium/drivers/radeonsi/si_commands.c
parent7773c7109c9a3b31767fab012183f64b932264a7 (diff)
radeonsi: move draw cmds to si_commands.c
Signed-off-by: Christian Koenig <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_commands.c')
-rw-r--r--src/gallium/drivers/radeonsi/si_commands.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_commands.c b/src/gallium/drivers/radeonsi/si_commands.c
index 5215a342f41..8dcf5d3341b 100644
--- a/src/gallium/drivers/radeonsi/si_commands.c
+++ b/src/gallium/drivers/radeonsi/si_commands.c
@@ -36,6 +36,28 @@ void si_cmd_context_control(struct si_pm4_state *pm4)
si_pm4_cmd_end(pm4, false);
}
+void si_cmd_draw_index_2(struct si_pm4_state *pm4, uint32_t max_size,
+ uint64_t index_base, uint32_t index_count,
+ uint32_t initiator, bool predicate)
+{
+ si_pm4_cmd_begin(pm4, PKT3_DRAW_INDEX_2);
+ si_pm4_cmd_add(pm4, max_size);
+ si_pm4_cmd_add(pm4, index_base);
+ si_pm4_cmd_add(pm4, (index_base >> 32UL) & 0xFF);
+ si_pm4_cmd_add(pm4, index_count);
+ si_pm4_cmd_add(pm4, initiator);
+ si_pm4_cmd_end(pm4, predicate);
+}
+
+void si_cmd_draw_index_auto(struct si_pm4_state *pm4, uint32_t count,
+ uint32_t initiator, bool predicate)
+{
+ si_pm4_cmd_begin(pm4, PKT3_DRAW_INDEX_AUTO);
+ si_pm4_cmd_add(pm4, count);
+ si_pm4_cmd_add(pm4, initiator);
+ si_pm4_cmd_end(pm4, predicate);
+}
+
void si_cmd_surface_sync(struct si_pm4_state *pm4, uint32_t cp_coher_cntl)
{
si_pm4_cmd_begin(pm4, PKT3_SURFACE_SYNC);