From e515d9791e4287123cc495404472b19a8e879e47 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 1 Sep 2021 13:58:31 -0400 Subject: [PATCH] zink: only update gfx pipeline cache after creating a real pipeline async pipelines may not require updates here Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_pipeline.c | 1 - src/gallium/drivers/zink/zink_program.c | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) 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;