vc4: Don't try to CSE color reads.
authorEric Anholt <eric@anholt.net>
Wed, 24 Jun 2015 01:08:49 +0000 (18:08 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 24 Jun 2015 01:40:50 +0000 (18:40 -0700)
It returns a new value for each sample in the TLB.  We've already avoided
trying to get the same index's color multiple times at the vc4_program.c
level, so we're not losing anything by doing this.

src/gallium/drivers/vc4/vc4_opt_cse.c

index 92c8260eb591ab55d22ecdc17e95b3abc9b37540..51a56504e5e69e7e51929022ed0dad1c5bf503c4 100644 (file)
@@ -130,7 +130,8 @@ qir_opt_cse(struct vc4_compile *c)
 
         list_for_each_entry(struct qinst, inst, &c->instructions, link) {
                 if (qir_has_side_effects(c, inst) ||
-                    qir_has_side_effect_reads(c, inst)) {
+                    qir_has_side_effect_reads(c, inst) ||
+                    inst->op == QOP_TLB_COLOR_READ) {
                         continue;
                 }