From c314b0a27ac3f957a92863df3e5bc462432b0262 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 10 Jan 2018 04:22:28 +0000 Subject: [PATCH] r600/sb: add finalising for lds output queue special values. We need to convert these to the hw special registers. Acked-By: Roland Scheidegger Signed-off-by: Dave Airlie --- 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 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(); -- 2.30.2