diff --git a/src/gallium/drivers/zink/zink_draw.cpp b/src/gallium/drivers/zink/zink_draw.cpp index 2946e26c802..11e7295fe82 100644 --- a/src/gallium/drivers/zink/zink_draw.cpp +++ b/src/gallium/drivers/zink/zink_draw.cpp @@ -1261,7 +1261,7 @@ zink_launch_grid(struct pipe_context *pctx, const struct pipe_grid_info *info) 0, 1, &mb, 0, NULL, 0, NULL); } - zink_program_update_compute_pipeline_state(ctx, ctx->curr_compute, info->block); + zink_program_update_compute_pipeline_state(ctx, ctx->curr_compute, info); VkPipeline prev_pipeline = ctx->compute_pipeline_state.pipeline; if (BATCH_CHANGED) { diff --git a/src/gallium/drivers/zink/zink_program.c b/src/gallium/drivers/zink/zink_program.c index 25790ac60cf..96835868502 100644 --- a/src/gallium/drivers/zink/zink_program.c +++ b/src/gallium/drivers/zink/zink_program.c @@ -1295,13 +1295,13 @@ hash_compute_pipeline_state(const void *key) } void -zink_program_update_compute_pipeline_state(struct zink_context *ctx, struct zink_compute_program *comp, const uint block[3]) +zink_program_update_compute_pipeline_state(struct zink_context *ctx, struct zink_compute_program *comp, const struct pipe_grid_info *info) { if (comp->use_local_size) { for (int i = 0; i < ARRAY_SIZE(ctx->compute_pipeline_state.local_size); i++) { - if (ctx->compute_pipeline_state.local_size[i] != block[i]) + if (ctx->compute_pipeline_state.local_size[i] != info->block[i]) ctx->compute_pipeline_state.dirty = true; - ctx->compute_pipeline_state.local_size[i] = block[i]; + ctx->compute_pipeline_state.local_size[i] = info->block[i]; } } } diff --git a/src/gallium/drivers/zink/zink_program.h b/src/gallium/drivers/zink/zink_program.h index 8df5e3388ab..432dcb0a9e4 100644 --- a/src/gallium/drivers/zink/zink_program.h +++ b/src/gallium/drivers/zink/zink_program.h @@ -231,7 +231,7 @@ VkPipelineLayout zink_pipeline_layout_create(struct zink_screen *screen, VkDescriptorSetLayout *dsl, unsigned num_dsl, bool is_compute, VkPipelineLayoutCreateFlags flags); void -zink_program_update_compute_pipeline_state(struct zink_context *ctx, struct zink_compute_program *comp, const uint block[3]); +zink_program_update_compute_pipeline_state(struct zink_context *ctx, struct zink_compute_program *comp, const struct pipe_grid_info *info); void zink_update_compute_program(struct zink_context *ctx); VkPipeline