v3d: Use nir_remove_unused_io_vars to handle binner shader output DCE
[mesa.git] / src / broadcom / compiler / v3d_nir_lower_io.c
index 9cdcc02195c6229832f4ae1dd4f9ed3aa13df7de..10bc25811a85cba3a65b523dcdce2d09105c883b 100644 (file)
@@ -51,44 +51,6 @@ replace_intrinsic_with_vec(nir_builder *b, nir_intrinsic_instr *intr,
         nir_instr_remove(&intr->instr);
 }
 
-static void
-v3d_nir_lower_output(struct v3d_compile *c, nir_builder *b,
-                     nir_intrinsic_instr *intr)
-{
-        nir_variable *output_var = NULL;
-        nir_foreach_variable(var, &c->s->outputs) {
-                if (var->data.driver_location == nir_intrinsic_base(intr)) {
-                        output_var = var;
-                        break;
-                }
-        }
-        assert(output_var);
-
-        if (c->vs_key) {
-                int slot = output_var->data.location;
-                bool used = false;
-
-                switch (slot) {
-                case VARYING_SLOT_PSIZ:
-                case VARYING_SLOT_POS:
-                        used = true;
-                        break;
-
-                default:
-                        for (int i = 0; i < c->vs_key->num_fs_inputs; i++) {
-                                if (v3d_slot_get_slot(c->vs_key->fs_inputs[i]) == slot) {
-                                        used = true;
-                                        break;
-                                }
-                        }
-                        break;
-                }
-
-                if (!used)
-                        nir_instr_remove(&intr->instr);
-        }
-}
-
 static void
 v3d_nir_lower_uniform(struct v3d_compile *c, nir_builder *b,
                       nir_intrinsic_instr *intr)
@@ -135,10 +97,6 @@ v3d_nir_lower_io_instr(struct v3d_compile *c, nir_builder *b,
         case nir_intrinsic_load_input:
                 break;
 
-        case nir_intrinsic_store_output:
-                v3d_nir_lower_output(c, b, intr);
-                break;
-
         case nir_intrinsic_load_uniform:
                 v3d_nir_lower_uniform(c, b, intr);
                 break;