In particular, if we have an index or bindless handle we were passing
the original handle which, technically, is uniform within the context of
the if. However, we can save the back-end compiler some effort if we
pass it the result of the read_first_invocation().
(Rebased by Kenneth Graunke and Rhys Perry.)
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7592>
nir_deref_instr *deref =
nir_build_deref_array(b, h->parent_deref, h->first);
*(h->src) = nir_src_for_ssa(&deref->dest.ssa);
+ } else {
+ *(h->src) = nir_src_for_ssa(h->first);
}
}