diff options
Diffstat (limited to 'src/gallium/drivers/r600/sb/sb_gcm.cpp')
-rw-r--r-- | src/gallium/drivers/r600/sb/sb_gcm.cpp | 20 |
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 { |