diff --git a/src/gallium/drivers/zink/zink_program.c b/src/gallium/drivers/zink/zink_program.c index 539eaa9c672..315a72d4fae 100644 --- a/src/gallium/drivers/zink/zink_program.c +++ b/src/gallium/drivers/zink/zink_program.c @@ -1282,6 +1282,7 @@ create_compute_program(struct zink_context *ctx, nir_shader *nir) if (!comp) return NULL; comp->nir = nir; + comp->num_inlinable_uniforms = nir->info.num_inlinable_uniforms; comp->use_local_size = !(nir->info.workgroup_size[0] || nir->info.workgroup_size[1] || @@ -1837,7 +1838,7 @@ zink_bind_cs_state(struct pipe_context *pctx, { struct zink_context *ctx = zink_context(pctx); struct zink_compute_program *comp = cso; - if (comp && comp->nir->info.num_inlinable_uniforms) + if (comp && comp->num_inlinable_uniforms) ctx->shader_has_inlinable_uniforms_mask |= 1 << MESA_SHADER_COMPUTE; else ctx->shader_has_inlinable_uniforms_mask &= ~(1 << MESA_SHADER_COMPUTE); diff --git a/src/gallium/drivers/zink/zink_types.h b/src/gallium/drivers/zink/zink_types.h index 1e90537a57f..9bd297053af 100644 --- a/src/gallium/drivers/zink/zink_types.h +++ b/src/gallium/drivers/zink/zink_types.h @@ -1064,6 +1064,7 @@ struct zink_compute_program { bool use_local_size; + unsigned num_inlinable_uniforms; nir_shader *nir; struct zink_shader_module *curr;