diff --git a/src/gallium/drivers/zink/zink_pipeline.c b/src/gallium/drivers/zink/zink_pipeline.c index 0e869500353..b16b64701dc 100644 --- a/src/gallium/drivers/zink/zink_pipeline.c +++ b/src/gallium/drivers/zink/zink_pipeline.c @@ -276,7 +276,6 @@ zink_create_gfx_pipeline(struct zink_screen *screen, debug_printf("vkCreateGraphicsPipelines failed\n"); return VK_NULL_HANDLE; } - zink_screen_update_pipeline_cache(screen, &prog->base); return pipeline; } diff --git a/src/gallium/drivers/zink/zink_program.c b/src/gallium/drivers/zink/zink_program.c index 3e467ad8191..8d75ad840d3 100644 --- a/src/gallium/drivers/zink/zink_program.c +++ b/src/gallium/drivers/zink/zink_program.c @@ -853,6 +853,7 @@ zink_get_gfx_pipeline(struct zink_context *ctx, if (pipeline == VK_NULL_HANDLE) return VK_NULL_HANDLE; + zink_screen_update_pipeline_cache(screen, &prog->base); struct gfx_pipeline_cache_entry *pc_entry = CALLOC_STRUCT(gfx_pipeline_cache_entry); if (!pc_entry) return VK_NULL_HANDLE;