v3d: Fix assertion failures in debug builds.
[mesa.git] / src / broadcom / compiler / vir_opt_redundant_flags.c
index b61514f6c99c2795a504b2087b5e60cdbff96db6..8749f3cd647624943419dd4d1339cdf9ef99ffc2 100644 (file)
@@ -102,11 +102,15 @@ vir_opt_redundant_flags_block(struct v3d_compile *c, struct qblock *block)
         vir_for_each_inst(inst, block) {
                 if (inst->qpu.type != V3D_QPU_INSTR_TYPE_ALU ||
                     inst->qpu.flags.auf != V3D_QPU_UF_NONE ||
-                    inst->qpu.flags.auf != V3D_QPU_UF_NONE) {
+                    inst->qpu.flags.muf != V3D_QPU_UF_NONE) {
                         last_flags = NULL;
                         continue;
                 }
 
+                /* Flags aren't preserved across a thrsw. */
+                if (inst->qpu.sig.thrsw)
+                        last_flags = NULL;
+
                 if (inst->qpu.flags.apf != V3D_QPU_PF_NONE ||
                     inst->qpu.flags.mpf != V3D_QPU_PF_NONE) {
                         if (last_flags &&