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 {