aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/sb/sb_gcm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/r600/sb/sb_gcm.cpp')
-rw-r--r--src/gallium/drivers/r600/sb/sb_gcm.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/gallium/drivers/r600/sb/sb_gcm.cpp b/src/gallium/drivers/r600/sb/sb_gcm.cpp
index 7b43a32818e..fbebe3427d4 100644
--- a/src/gallium/drivers/r600/sb/sb_gcm.cpp
+++ b/src/gallium/drivers/r600/sb/sb_gcm.cpp
@@ -427,10 +427,22 @@ void gcm::bu_sched_bb(bb_node* bb) {
if (sq != SQ_CF) {
if (!clause || sampler_indexing) {
- clause = sh.create_clause(sq == SQ_ALU ?
- NST_ALU_CLAUSE :
- sq == SQ_TEX ? NST_TEX_CLAUSE :
- NST_VTX_CLAUSE);
+ node_subtype nst;
+ switch (sq) {
+ case SQ_ALU:
+ nst = NST_ALU_CLAUSE;
+ break;
+ case SQ_TEX:
+ nst = NST_TEX_CLAUSE;
+ break;
+ case SQ_GDS:
+ nst = NST_GDS_CLAUSE;
+ break;
+ default:
+ nst = NST_VTX_CLAUSE;
+ break;
+ }
+ clause = sh.create_clause(nst);
bb->push_front(clause);
}
} else {