From 447ba04d87aac19f6162ca5e0414c2f4a7421561 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 11 May 2021 09:22:25 -0400 Subject: [PATCH] zink: add surface ref during rebind if unflushed usage Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_surface.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gallium/drivers/zink/zink_surface.c b/src/gallium/drivers/zink/zink_surface.c index 1ec88765f44..7cfc211e14a 100644 --- a/src/gallium/drivers/zink/zink_surface.c +++ b/src/gallium/drivers/zink/zink_surface.c @@ -256,6 +256,8 @@ zink_rebind_surface(struct zink_context *ctx, struct pipe_surface **psurface) simple_mtx_lock(&screen->surface_mtx); struct hash_entry *new_entry = _mesa_hash_table_search_pre_hashed(&screen->surface_cache, hash, &ivci); + if (zink_batch_usage_exists(surface->batch_uses)) + zink_batch_reference_surface(&ctx->batch, surface); surface_clear_fb_refs(screen, *psurface); zink_descriptor_set_refs_clear(&surface->desc_set_refs, surface); if (new_entry) {