vc4: Drop the support for DCE of texture instructions.
authorEric Anholt <eric@anholt.net>
Wed, 27 Apr 2016 23:48:17 +0000 (16:48 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 2 May 2016 18:06:29 +0000 (11:06 -0700)
Now that we're using NIR for our optimization, there's no need for this
tricky code.

src/gallium/drivers/vc4/vc4_opt_dead_code.c

index 44d0779c6113469dfb26d81fcb9f2f850c72dac3..d3562ee947e6bfaed7572997298651bc1425fffa 100644 (file)
@@ -83,22 +83,14 @@ qir_opt_dead_code(struct vc4_compile *c)
         bool progress = false;
         bool *used = calloc(c->num_temps, sizeof(bool));
         bool sf_used = false;
-        /* Whether we're eliminating texture setup currently. */
-        bool dce_tex = false;
 
         list_for_each_entry_safe_rev(struct qinst, inst, &c->instructions,
                                      link) {
                 if (inst->dst.file == QFILE_TEMP &&
                     !used[inst->dst.index] &&
                     !inst->sf &&
-                    (!qir_has_side_effects(c, inst) ||
-                     inst->op == QOP_TEX_RESULT) &&
+                    !qir_has_side_effects(c, inst) &&
                     !has_nonremovable_reads(c, inst)) {
-                        if (inst->op == QOP_TEX_RESULT) {
-                                dce_tex = true;
-                                c->num_texture_samples--;
-                        }
-
                         for (int i = 0; i < qir_get_op_nsrc(inst->op); i++) {
                                 if (inst->src[i].file != QFILE_VPM)
                                         continue;
@@ -132,19 +124,6 @@ qir_opt_dead_code(struct vc4_compile *c)
                         sf_used = false;
                 }
 
-                if (inst->op == QOP_TEX_RESULT)
-                        dce_tex = false;
-
-                if (dce_tex && (inst->op == QOP_TEX_S ||
-                                inst->op == QOP_TEX_T ||
-                                inst->op == QOP_TEX_R ||
-                                inst->op == QOP_TEX_B ||
-                                inst->op == QOP_TEX_DIRECT)) {
-                        dce(c, inst);
-                        progress = true;
-                        continue;
-                }
-
                 for (int i = 0; i < qir_get_op_nsrc(inst->op); i++) {
                         if (inst->src[i].file == QFILE_TEMP)
                                 used[inst->src[i].index] = true;