[Mesa-dev] [PATCH 11/21] r600/sb: add finalising for lds output queue special values.

Dave Airlie airlied at gmail.com
Wed Jan 10 06:48:50 UTC 2018


From: Dave Airlie <airlied at redhat.com>

We need to convert these to the hw special registers.
---
 src/gallium/drivers/r600/sb/sb_bc_finalize.cpp | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/gallium/drivers/r600/sb/sb_bc_finalize.cpp b/src/gallium/drivers/r600/sb/sb_bc_finalize.cpp
index 2ec4db624a..d377a3950a 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();
-- 
2.14.3



More information about the mesa-dev mailing list