aboutsummaryrefslogtreecommitdiffstats
path: root/src/freedreno/ir3/ir3.c
diff options
context:
space:
mode:
authorConnor Abbott <[email protected]>2020-03-18 18:06:41 +0100
committerMarge Bot <[email protected]>2020-04-09 15:56:55 +0000
commitde7d90ef53d585ee3efd165df1bf38b20794b3e6 (patch)
tree1cb8bdb8d58ec02457e0c1f97170bdef3611dbf7 /src/freedreno/ir3/ir3.c
parentc8b0f904398cdc30ffc67c162bc3f570bf887ed9 (diff)
ir3: Plumb through support for a1.x
This will need to be used in some cases for the upcoming bindless support, plus ldc.k instructions which push data from a UBO to const registers. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4358>
Diffstat (limited to 'src/freedreno/ir3/ir3.c')
-rw-r--r--src/freedreno/ir3/ir3.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/freedreno/ir3/ir3.c b/src/freedreno/ir3/ir3.c
index 7bdf8a39ba8..7af46055c02 100644
--- a/src/freedreno/ir3/ir3.c
+++ b/src/freedreno/ir3/ir3.c
@@ -1086,7 +1086,14 @@ ir3_instr_set_address(struct ir3_instruction *instr,
debug_assert(instr->block == addr->block);
instr->address = addr;
- array_insert(ir, ir->indirects, instr);
+ debug_assert(reg_num(addr->regs[0]) == REG_A0);
+ unsigned comp = reg_comp(addr->regs[0]);
+ if (comp == 0) {
+ array_insert(ir, ir->a0_users, instr);
+ } else {
+ debug_assert(comp == 1);
+ array_insert(ir, ir->a1_users, instr);
+ }
}
}