summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/r600/sb/sb_bc_finalize.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/sb/sb_bc_finalize.cpp b/src/gallium/drivers/r600/sb/sb_bc_finalize.cpp
index 2ec4db624a5..d377a3950a6 100644
--- a/src/gallium/drivers/r600/sb/sb_bc_finalize.cpp
+++ b/src/gallium/drivers/r600/sb/sb_bc_finalize.cpp
@@ -428,6 +428,18 @@ bool bc_finalizer::finalize_alu_src(alu_group_node* g, alu_node* a, alu_group_no
src.chan = k.chan();
break;
}
+ case VLK_SPECIAL_REG:
+ if (v->select.sel() == SV_LDS_OQA) {
+ src.sel = ALU_SRC_LDS_OQ_A_POP;
+ src.chan = 0;
+ } else if (v->select.sel() == SV_LDS_OQB) {
+ src.sel = ALU_SRC_LDS_OQ_B_POP;
+ src.chan = 0;
+ } else {
+ src.sel = ALU_SRC_0;
+ src.chan = 0;
+ }
+ break;
case VLK_PARAM:
case VLK_SPECIAL_CONST:
src.sel = v->select.sel();