Module: Mesa Branch: main Commit: 907fbf22ddfaf6c8ec4e56f2848a17d5313d64cc URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=907fbf22ddfaf6c8ec4e56f2848a17d5313d64cc
Author: Rhys Perry <[email protected]> Date: Mon Nov 7 15:02:53 2022 +0000 nir/gather_info: use nir_ssa_scalar_resolved This lets us skip copies. Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Timur Kristóf <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19597> --- src/compiler/nir/nir_gather_info.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/compiler/nir/nir_gather_info.c b/src/compiler/nir/nir_gather_info.c index 9fefa52e510..c0a227f4181 100644 --- a/src/compiler/nir/nir_gather_info.c +++ b/src/compiler/nir/nir_gather_info.c @@ -31,22 +31,20 @@ static bool src_is_invocation_id(const nir_src *src) { assert(src->is_ssa); - if (src->ssa->parent_instr->type != nir_instr_type_intrinsic) - return false; - - return nir_instr_as_intrinsic(src->ssa->parent_instr)->intrinsic == - nir_intrinsic_load_invocation_id; + nir_ssa_scalar s = nir_ssa_scalar_resolved(src->ssa, 0); + return s.def->parent_instr->type == nir_instr_type_intrinsic && + nir_instr_as_intrinsic(s.def->parent_instr)->intrinsic == + nir_intrinsic_load_invocation_id; } static bool src_is_local_invocation_index(const nir_src *src) { assert(src->is_ssa); - if (src->ssa->parent_instr->type != nir_instr_type_intrinsic) - return false; - - return nir_instr_as_intrinsic(src->ssa->parent_instr)->intrinsic == - nir_intrinsic_load_local_invocation_index; + nir_ssa_scalar s = nir_ssa_scalar_resolved(src->ssa, 0); + return s.def->parent_instr->type == nir_instr_type_intrinsic && + nir_instr_as_intrinsic(s.def->parent_instr)->intrinsic == + nir_intrinsic_load_local_invocation_index; } static void
