From 3f420b3f5521105c38cf9346238d1dbcae2030f8 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 18 Jun 2021 11:55:54 -0400 Subject: [PATCH] zink: add a flag for disabling conditional render during blit Reviewed-by: Erik Faye-Lund Part-of: --- src/gallium/drivers/zink/zink_blit.c | 4 ++++ src/gallium/drivers/zink/zink_context.h | 1 + 2 files changed, 5 insertions(+) diff --git a/src/gallium/drivers/zink/zink_blit.c b/src/gallium/drivers/zink/zink_blit.c index 45a9cb6..3e216a1 100644 --- a/src/gallium/drivers/zink/zink_blit.c +++ b/src/gallium/drivers/zink/zink_blit.c @@ -1,5 +1,6 @@ #include "zink_context.h" #include "zink_helpers.h" +#include "zink_query.h" #include "zink_resource.h" #include "zink_screen.h" @@ -339,6 +340,9 @@ zink_blit_begin(struct zink_context *ctx, enum zink_blit_flags flags) ctx->di.num_sampler_views[PIPE_SHADER_FRAGMENT], ctx->sampler_views[PIPE_SHADER_FRAGMENT]); } + + if (flags & ZINK_BLIT_NO_COND_RENDER && ctx->render_condition_active) + zink_stop_conditional_render(ctx); } bool diff --git a/src/gallium/drivers/zink/zink_context.h b/src/gallium/drivers/zink/zink_context.h index 3a22eee..57a72e0 100644 --- a/src/gallium/drivers/zink/zink_context.h +++ b/src/gallium/drivers/zink/zink_context.h @@ -62,6 +62,7 @@ enum zink_blit_flags { ZINK_BLIT_SAVE_FS = 1 << 1, ZINK_BLIT_SAVE_FB = 1 << 2, ZINK_BLIT_SAVE_TEXTURES = 1 << 3, + ZINK_BLIT_NO_COND_RENDER = 1 << 4, }; struct zink_sampler_state { -- 2.7.4