Mesa (master): r600/sb: add finalising for lds output queue special values.
Dave Airlie
airlied at kemper.freedesktop.org
Thu Jan 18 03:39:44 UTC 2018
Module: Mesa
Branch: master
Commit: c314b0a27ac3f957a92863df3e5bc462432b0262
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c314b0a27ac3f957a92863df3e5bc462432b0262
Author: Dave Airlie <airlied at redhat.com>
Date: Wed Jan 10 04:22:28 2018 +0000
r600/sb: add finalising for lds output queue special values.
We need to convert these to the hw special registers.
Acked-By: Roland Scheidegger <sroland at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
---
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();
More information about the mesa-commit
mailing list