nir/loop_unroll: fix is_indirect_load() with load_global
load_global only has one source.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Fixes: dfe429eb41
("nir/loop_unroll: unroll more aggressively if it can improve load scheduling")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10186>
This commit is contained in:
parent
eae264918c
commit
e9dc3df868
|
@ -757,12 +757,14 @@ is_indirect_load(nir_instr *instr)
|
|||
nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
|
||||
|
||||
if ((intrin->intrinsic == nir_intrinsic_load_ubo ||
|
||||
intrin->intrinsic == nir_intrinsic_load_ssbo ||
|
||||
intrin->intrinsic == nir_intrinsic_load_global) &&
|
||||
intrin->intrinsic == nir_intrinsic_load_ssbo) &&
|
||||
!nir_src_is_const(intrin->src[1])) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (intrin->intrinsic == nir_intrinsic_load_global)
|
||||
return true;
|
||||
|
||||
if (intrin->intrinsic == nir_intrinsic_load_deref ||
|
||||
intrin->intrinsic == nir_intrinsic_store_deref) {
|
||||
nir_deref_instr *deref = nir_src_as_deref(intrin->src[0]);
|
||||
|
|
Loading…
Reference in New Issue