From 1cc6cecc3a5a63920316fc0ff088f315ab86b50a Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 12 Aug 2022 11:20:18 -0400 Subject: [PATCH] zink: track whether shader has cube samplers Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_compiler.c | 1 + src/gallium/drivers/zink/zink_types.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index f4e1008ac0e..7daeda29322 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -3120,6 +3120,7 @@ zink_shader_create(struct zink_screen *screen, struct nir_shader *nir, } else { assert(var->data.mode == nir_var_uniform || var->data.mode == nir_var_image); + ret->has_cubes |= glsl_type_is_sampler(type) && glsl_get_sampler_dim(type) == GLSL_SAMPLER_DIM_CUBE; if (var->data.bindless) { ret->bindless = true; handle_bindless_var(nir, var, type, &bindless); diff --git a/src/gallium/drivers/zink/zink_types.h b/src/gallium/drivers/zink/zink_types.h index ef6ee8bc280..cf4d0815ab2 100644 --- a/src/gallium/drivers/zink/zink_types.h +++ b/src/gallium/drivers/zink/zink_types.h @@ -596,6 +596,7 @@ struct zink_shader { uint32_t ssbos_used; // bitfield of which ssbo indices are used bool bindless; bool can_inline; + bool has_cubes; struct spirv_shader *spirv; simple_mtx_t lock;