From b061ab7198bb93ff77aef7c219102b125cd56e8c Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 11 Mar 2024 14:08:57 -0400 Subject: [PATCH] zink: track whether shaders use load_barycentric_at_sample Part-of: --- src/gallium/drivers/zink/zink_compiler.c | 2 ++ src/gallium/drivers/zink/zink_types.h | 1 + 2 files changed, 3 insertions(+) diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 65754c4ddbe..ef66fd8c774 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -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; diff --git a/src/gallium/drivers/zink/zink_types.h b/src/gallium/drivers/zink/zink_types.h index c05b3187aaa..739838d0dce 100644 --- a/src/gallium/drivers/zink/zink_types.h +++ b/src/gallium/drivers/zink/zink_types.h @@ -824,6 +824,7 @@ struct zink_shader { bool has_uniforms; bool has_edgeflags; bool needs_inlining; + bool uses_sample; struct spirv_shader *spirv; struct {