nir: add ACCESS_SKIP_HELPERS

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36610>
This commit is contained in:
Georg Lehmann 2025-08-06 21:40:58 +02:00 committed by Marge Bot
parent 91572a99bb
commit 2d16f457c5
3 changed files with 10 additions and 0 deletions

View file

@ -973,6 +973,10 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state)
#endif
}
if (nir_intrinsic_has_access(instr) &&
(nir_intrinsic_access(instr) & ACCESS_SKIP_HELPERS))
is_divergent = true;
instr->def.divergent = is_divergent;
return is_divergent;
}

View file

@ -850,6 +850,7 @@ print_access(enum gl_access_qualifier access, print_state *state, const char *se
{ ACCESS_IN_BOUNDS, "in-bounds" },
{ ACCESS_KEEP_SCALAR, "keep-scalar" },
{ ACCESS_SMEM_AMD, "smem-amd" },
{ ACCESS_SKIP_HELPERS, "skip-helpers" },
};
bool first = true;

View file

@ -1167,6 +1167,11 @@ enum gl_access_qualifier
* Indicates that this load will use SMEM.
*/
ACCESS_SMEM_AMD = (1 << 16),
/**
* Indicates that this load must be skipped by helper invocations.
*/
ACCESS_SKIP_HELPERS = (1 << 17),
};
/**