diff --git a/src/gallium/drivers/zink/zink_pipeline.c b/src/gallium/drivers/zink/zink_pipeline.c index 1cdc78b8786..7ded655df65 100644 --- a/src/gallium/drivers/zink/zink_pipeline.c +++ b/src/gallium/drivers/zink/zink_pipeline.c @@ -413,7 +413,6 @@ zink_create_compute_pipeline(struct zink_screen *screen, struct zink_compute_pro mesa_loge("ZINK: vkCreateComputePipelines failed (%s)", vk_Result_to_str(result)); return VK_NULL_HANDLE; } - zink_screen_update_pipeline_cache(screen, &comp->base); return pipeline; } diff --git a/src/gallium/drivers/zink/zink_program.c b/src/gallium/drivers/zink/zink_program.c index 519e7d0d386..7be6e4b5b49 100644 --- a/src/gallium/drivers/zink/zink_program.c +++ b/src/gallium/drivers/zink/zink_program.c @@ -993,6 +993,7 @@ zink_get_compute_pipeline(struct zink_screen *screen, if (pipeline == VK_NULL_HANDLE) return VK_NULL_HANDLE; + zink_screen_update_pipeline_cache(screen, &comp->base); if (!comp->use_local_size && !comp->curr->num_uniforms && !comp->curr->has_nonseamless) { /* don't add base pipeline to cache */ state->pipeline = comp->base_pipeline = pipeline;