From 1ef43a0be7056f8d0e21e89d94e08a4cc23d6240 Mon Sep 17 00:00:00 2001 From: Danylo Piliaiev Date: Fri, 8 Oct 2021 18:30:11 +0300 Subject: [PATCH] freedreno/ir3: disallow immediate addr/offset for ldg/ldg.a Signed-off-by: Danylo Piliaiev Signed-off-by: Rob Clark Part-of: --- src/freedreno/ir3/ir3.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/freedreno/ir3/ir3.c b/src/freedreno/ir3/ir3.c index e5750827304..1b5908c8b57 100644 --- a/src/freedreno/ir3/ir3.c +++ b/src/freedreno/ir3/ir3.c @@ -953,6 +953,12 @@ ir3_valid_flags(struct ir3_instruction *instr, unsigned n, unsigned flags) if (instr->opc == OPC_STG_A && (n == 4)) return false; + if (instr->opc == OPC_LDG && (n == 0)) + return false; + + if (instr->opc == OPC_LDG_A && (n < 2)) + return false; + /* as with atomics, these cat6 instrs can only have an immediate * for SSBO/IBO slot argument */