aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/sb/sb_shader.cpp
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2017-12-07 02:14:45 +0000
committerDave Airlie <[email protected]>2018-01-18 03:35:37 +0000
commitda977ad9074707932b9dc1f7c52b5427ce920c13 (patch)
treea9cfa1a4e05ec7c4a488a9cbd87da45f7a53f8ee /src/gallium/drivers/r600/sb/sb_shader.cpp
parent05f5282d6388feb58b7f5bd24394d68c29e33aad (diff)
r600/sb: start adding GDS support
This adds support for GDS ops to sb backend. This seems to work for atomics and tess factor writes. Acked-By: Roland Scheidegger <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/sb/sb_shader.cpp')
-rw-r--r--src/gallium/drivers/r600/sb/sb_shader.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/sb/sb_shader.cpp b/src/gallium/drivers/r600/sb/sb_shader.cpp
index 8c7b39bb03f..321e24ea256 100644
--- a/src/gallium/drivers/r600/sb/sb_shader.cpp
+++ b/src/gallium/drivers/r600/sb/sb_shader.cpp
@@ -91,6 +91,7 @@ cf_node* shader::create_clause(node_subtype nst) {
case NST_ALU_CLAUSE: n->bc.set_op(CF_OP_ALU); break;
case NST_TEX_CLAUSE: n->bc.set_op(CF_OP_TEX); break;
case NST_VTX_CLAUSE: n->bc.set_op(CF_OP_VTX); break;
+ case NST_GDS_CLAUSE: n->bc.set_op(CF_OP_GDS); break;
default: assert(!"invalid clause type"); break;
}
@@ -597,6 +598,8 @@ sched_queue_id shader::get_queue_id(node* n) {
fetch_node *f = static_cast<fetch_node*>(n);
if (ctx.is_r600() && (f->bc.op_ptr->flags & FF_VTX))
return SQ_VTX;
+ if (f->bc.op_ptr->flags & FF_GDS)
+ return SQ_GDS;
return SQ_TEX;
}
case NST_CF_INST: