diff options
author | Eric Anholt <[email protected]> | 2020-03-27 17:23:19 -0700 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-03-30 21:35:21 +0000 |
commit | d0b3ccb06076c921e60afbf0810b3b50bbce39e4 (patch) | |
tree | 09d3e6b53e17fb231a16bb145921bd9663c2963b /src/gallium/drivers/freedreno/freedreno_query.c | |
parent | 57d54bcf994f2b3a963f73775a3dd756e8d96be3 (diff) |
freedreno: Fix detection of being in a blit for acc queries.
The batch might not have stage == FD_STAGE_BLIT set because
fd_blitter_pipe_begin was sticking the stage on some random batch (or none
at all) rather than the one that would be used in the meta operation.
What we actually wanted to be looking at was set_active_query_state(),
which is already called by util_blitter and whose state we just needed to
track.
Fixes piglit occlusion_query_meta_no_fragments. I haven't changed
query_hw.c's stage handling to clean the rest up because I don't have a
db410c/db820c at home to iterate over the piglit tests.
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4356>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4356>
Diffstat (limited to 'src/gallium/drivers/freedreno/freedreno_query.c')
-rw-r--r-- | src/gallium/drivers/freedreno/freedreno_query.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_query.c b/src/gallium/drivers/freedreno/freedreno_query.c index 1ac7e1cdd4b..010d01bc385 100644 --- a/src/gallium/drivers/freedreno/freedreno_query.c +++ b/src/gallium/drivers/freedreno/freedreno_query.c @@ -176,8 +176,11 @@ fd_get_driver_query_group_info(struct pipe_screen *pscreen, unsigned index, } static void -fd_set_active_query_state(struct pipe_context *pipe, bool enable) +fd_set_active_query_state(struct pipe_context *pctx, bool enable) { + struct fd_context *ctx = fd_context(pctx); + ctx->active_queries = enable; + ctx->update_active_queries = true; } static enum pipe_driver_query_type |