summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2019-02-26 14:46:45 -0500
committerKristian H. Kristensen <[email protected]>2019-03-15 10:52:11 -0700
commitca11f9263e4dcd541faaf8f4760de712581b5a1b (patch)
tree25c89c6ed18125eb4c46bc8a1945e9ee87e45430
parentabfd572bd2faf58eb39722e76e19431c2242b06b (diff)
freedreno/ir3/cp: fix ldib bug
Something that we didn't hit earlier because of the extra shr.b Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
-rw-r--r--src/freedreno/ir3/ir3_cp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/freedreno/ir3/ir3_cp.c b/src/freedreno/ir3/ir3_cp.c
index 76e13a05bf6..bbc85b12198 100644
--- a/src/freedreno/ir3/ir3_cp.c
+++ b/src/freedreno/ir3/ir3_cp.c
@@ -210,6 +210,12 @@ static bool valid_flags(struct ir3_instruction *instr, unsigned n,
if (is_atomic(instr->opc) && !(instr->flags & IR3_INSTR_G))
return false;
+
+ /* as with atomics, ldib on a6xx can only have immediate for
+ * SSBO slot argument
+ */
+ if ((instr->opc == OPC_LDIB) && (n != 0))
+ return false;
}
break;