zink: track whether shaders use load_barycentric_at_sample

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28113>
This commit is contained in:
Mike Blumenkrantz 2024-03-11 14:08:57 -04:00 committed by Marge Bot
parent e1b66f9707
commit b061ab7198
2 changed files with 3 additions and 0 deletions

View file

@ -4648,6 +4648,8 @@ scan_nir(struct zink_screen *screen, nir_shader *shader, struct zink_shader *zs)
BITSET_SET_RANGE(shader->info.images_used, var->data.binding,
var->data.binding + (MAX2(size, 1) - 1));
}
if (intr->intrinsic == nir_intrinsic_load_barycentric_at_sample)
zs->uses_sample = true;
if (intr->intrinsic == nir_intrinsic_is_sparse_texels_resident ||
intr->intrinsic == nir_intrinsic_image_deref_sparse_load)
zs->sinfo.have_sparse = true;

View file

@ -824,6 +824,7 @@ struct zink_shader {
bool has_uniforms;
bool has_edgeflags;
bool needs_inlining;
bool uses_sample;
struct spirv_shader *spirv;
struct {