zink: pass entire pipe_grid_info into zink_program_update_compute_pipeline_state

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24839>
This commit is contained in:
Karol Herbst 2023-09-19 14:44:26 +02:00 committed by Marge Bot
parent a3214e8976
commit 6e0bb08116
3 changed files with 5 additions and 5 deletions

View file

@ -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) {

View file

@ -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];
}
}
}

View file

@ -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