ir3: Also don't propagate immediate offset with LDC
authorConnor Abbott <cwabbott0@gmail.com>
Fri, 20 Mar 2020 14:25:11 +0000 (15:25 +0100)
committerMarge Bot <eric+marge@anholt.net>
Thu, 9 Apr 2020 15:56:55 +0000 (15:56 +0000)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4358>

src/freedreno/ir3/ir3_cp.c

index 5cac9c6b2d49566207531226aac0878ce2c32b65..26c653afbd518c26afa25f8da61e0014e3963a6e 100644 (file)
@@ -244,10 +244,10 @@ static bool valid_flags(struct ir3_instruction *instr, unsigned n,
                        if (instr->opc == OPC_STG && (instr->flags & IR3_INSTR_G) && (n != 2))
                                return false;
 
-                       /* as with atomics, ldib on a6xx can only have immediate for
-                        * SSBO slot argument
+                       /* as with atomics, ldib and ldc on a6xx can only have immediate
+                        * for SSBO slot argument
                         */
-                       if ((instr->opc == OPC_LDIB) && (n != 0))
+                       if ((instr->opc == OPC_LDIB || instr->opc == OPC_LDC) && (n != 0))
                                return false;
                }