diff options
author | Eric Anholt <eric@anholt.net> | 2021-02-01 11:52:12 -0800 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-02-04 19:31:30 +0000 |
commit | 75a43866769620f9ade6f71e7d1d9e7d9d4f9ac7 (patch) | |
tree | 3fa66c6428ae27dc8084462cef580eb40e3f0c10 | |
parent | 50bac9f3fb267de993aa00bf00f6f6e4461d6ab9 (diff) |
freedreno: Make sure that queries are disabled during shadow blits.
They shouldn't count toward occlusion queries.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8789>
-rw-r--r-- | src/gallium/drivers/freedreno/freedreno_resource.c | 6 |
1 files changed, 6 insertions, 0 deletions
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); |