mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 21:08:11 +02:00
freedreno/ir3: Drop unused view_zero/layer_zero lowering
Previous patch removed the only remaining user. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19236>
This commit is contained in:
parent
679adcbc3c
commit
b416c08e86
3 changed files with 0 additions and 78 deletions
|
|
@ -588,59 +588,6 @@ ir3_nir_post_finalize(struct ir3_shader *shader)
|
|||
ir3_optimize_loop(compiler, s);
|
||||
}
|
||||
|
||||
static bool
|
||||
ir3_nir_lower_view_layer_id(nir_shader *nir, bool layer_zero, bool view_zero)
|
||||
{
|
||||
unsigned layer_id_loc = ~0, view_id_loc = ~0;
|
||||
nir_foreach_shader_in_variable (var, nir) {
|
||||
if (var->data.location == VARYING_SLOT_LAYER)
|
||||
layer_id_loc = var->data.driver_location;
|
||||
if (var->data.location == VARYING_SLOT_VIEWPORT)
|
||||
view_id_loc = var->data.driver_location;
|
||||
}
|
||||
|
||||
assert(!layer_zero || layer_id_loc != ~0);
|
||||
assert(!view_zero || view_id_loc != ~0);
|
||||
|
||||
bool progress = false;
|
||||
nir_builder b;
|
||||
|
||||
nir_foreach_function (func, nir) {
|
||||
nir_builder_init(&b, func->impl);
|
||||
|
||||
nir_foreach_block (block, func->impl) {
|
||||
nir_foreach_instr_safe (instr, block) {
|
||||
if (instr->type != nir_instr_type_intrinsic)
|
||||
continue;
|
||||
|
||||
nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
|
||||
|
||||
if (intrin->intrinsic != nir_intrinsic_load_input)
|
||||
continue;
|
||||
|
||||
unsigned base = nir_intrinsic_base(intrin);
|
||||
if (base != layer_id_loc && base != view_id_loc)
|
||||
continue;
|
||||
|
||||
b.cursor = nir_before_instr(&intrin->instr);
|
||||
nir_ssa_def *zero = nir_imm_int(&b, 0);
|
||||
nir_ssa_def_rewrite_uses(&intrin->dest.ssa, zero);
|
||||
nir_instr_remove(&intrin->instr);
|
||||
progress = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (progress) {
|
||||
nir_metadata_preserve(
|
||||
func->impl, nir_metadata_block_index | nir_metadata_dominance);
|
||||
} else {
|
||||
nir_metadata_preserve(func->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
|
||||
return progress;
|
||||
}
|
||||
|
||||
static bool
|
||||
lower_ucp_vs(struct ir3_shader_variant *so)
|
||||
{
|
||||
|
|
@ -707,15 +654,8 @@ ir3_nir_lower_variant(struct ir3_shader_variant *so, nir_shader *s)
|
|||
if (lower_ucp_vs(so)) {
|
||||
progress |= OPT(s, nir_lower_clip_vs, so->key.ucp_enables, false, true, NULL);
|
||||
} else if (s->info.stage == MESA_SHADER_FRAGMENT) {
|
||||
bool layer_zero =
|
||||
so->key.layer_zero && (s->info.inputs_read & VARYING_BIT_LAYER);
|
||||
bool view_zero =
|
||||
so->key.view_zero && (s->info.inputs_read & VARYING_BIT_VIEWPORT);
|
||||
|
||||
if (so->key.ucp_enables && !so->compiler->has_clip_cull)
|
||||
progress |= OPT(s, nir_lower_clip_fs, so->key.ucp_enables, true);
|
||||
if (layer_zero || view_zero)
|
||||
progress |= OPT(s, ir3_nir_lower_view_layer_id, layer_zero, view_zero);
|
||||
}
|
||||
|
||||
/* Move large constant variables to the constants attached to the NIR
|
||||
|
|
|
|||
|
|
@ -507,14 +507,6 @@ ir3_setup_used_key(struct ir3_shader *shader)
|
|||
key->rasterflat = true;
|
||||
}
|
||||
|
||||
if (info->inputs_read & VARYING_BIT_LAYER) {
|
||||
key->layer_zero = true;
|
||||
}
|
||||
|
||||
if (info->inputs_read & VARYING_BIT_VIEWPORT) {
|
||||
key->view_zero = true;
|
||||
}
|
||||
|
||||
/* Only used for deciding on behavior of
|
||||
* nir_intrinsic_load_barycentric_sample and the centroid demotion
|
||||
* on older HW.
|
||||
|
|
|
|||
|
|
@ -324,13 +324,6 @@ struct ir3_shader_key {
|
|||
* the limit:
|
||||
*/
|
||||
unsigned safe_constlen : 1;
|
||||
|
||||
/* Whether gl_Layer must be forced to 0 because it isn't written. */
|
||||
unsigned layer_zero : 1;
|
||||
|
||||
/* Whether gl_ViewportIndex must be forced to 0 because it isn't
|
||||
* written. */
|
||||
unsigned view_zero : 1;
|
||||
};
|
||||
uint32_t global;
|
||||
};
|
||||
|
|
@ -403,9 +396,6 @@ ir3_shader_key_changes_fs(struct ir3_shader_key *key,
|
|||
if (last_key->rasterflat != key->rasterflat)
|
||||
return true;
|
||||
|
||||
if (last_key->layer_zero != key->layer_zero)
|
||||
return true;
|
||||
|
||||
if (last_key->ucp_enables != key->ucp_enables)
|
||||
return true;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue