From 75a43866769620f9ade6f71e7d1d9e7d9d4f9ac7 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 1 Feb 2021 11:52:12 -0800 Subject: [PATCH] freedreno: Make sure that queries are disabled during shadow blits. They shouldn't count toward occlusion queries. Part-of: --- src/gallium/drivers/freedreno/freedreno_resource.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/freedreno/freedreno_resource.c b/src/gallium/drivers/freedreno/freedreno_resource.c index 84335c004e9..b1bf7ef9ef7 100644 --- a/src/gallium/drivers/freedreno/freedreno_resource.c +++ b/src/gallium/drivers/freedreno/freedreno_resource.c @@ -346,6 +346,10 @@ fd_try_shadow_resource(struct fd_context *ctx, struct fd_resource *rsc, blit.src.field = (val); \ } while (0) + /* Disable occlusion queries during shadow blits. */ + bool saved_active_queries = ctx->active_queries; + pctx->set_active_query_state(pctx, false); + /* blit the other levels in their entirety: */ for (unsigned l = 0; l <= prsc->last_level; l++) { if (box && l == level) @@ -397,6 +401,8 @@ fd_try_shadow_resource(struct fd_context *ctx, struct fd_resource *rsc, } } + pctx->set_active_query_state(pctx, saved_active_queries); + ctx->in_shadow = false; pipe_resource_reference(&pshadow, NULL);