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;