From 8ab1e9826db5936ff287bef7b428ebee27ada507 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 30 Jun 2022 10:12:12 -0400 Subject: [PATCH] zink: don't increment screen->num_contexts for copy context this otherwise may trigger unwanted perf regressions Reviewed-by: Adam Jackson Part-of: --- src/gallium/drivers/zink/zink_context.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index b6eca1aeb72..a34d83ca852 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -161,7 +161,8 @@ zink_context_destroy(struct pipe_context *pctx) zink_descriptor_layouts_deinit(ctx); - p_atomic_dec(&screen->base.num_contexts); + if (!(ctx->flags & ZINK_CONTEXT_COPY_ONLY)) + p_atomic_dec(&screen->base.num_contexts); ralloc_free(ctx); } @@ -4448,8 +4449,8 @@ zink_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags) ctx->di.fbfetch.imageView = zink_csurface(ctx->dummy_surface[0])->image_view; reapply_color_write(ctx); + p_atomic_inc(&screen->base.num_contexts); } - p_atomic_inc(&screen->base.num_contexts); zink_select_draw_vbo(ctx); zink_select_launch_grid(ctx);