From 8192498530936ffef838a4a1ac71d0c4e587ce2a Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Mon, 29 May 2023 08:20:16 -0700 Subject: [PATCH] freedreno: Handle compute queries Compute stage can have queries too. We need to handle that. Signed-off-by: Rob Clark Part-of: --- src/gallium/drivers/freedreno/freedreno_draw.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/gallium/drivers/freedreno/freedreno_draw.c b/src/gallium/drivers/freedreno/freedreno_draw.c index ed39669ff1f..78488560f16 100644 --- a/src/gallium/drivers/freedreno/freedreno_draw.c +++ b/src/gallium/drivers/freedreno/freedreno_draw.c @@ -571,6 +571,11 @@ fd_launch_grid(struct pipe_context *pctx, fd_batch_reference(&save_batch, ctx->batch); fd_batch_reference(&ctx->batch, batch); + /* NOTE: needs to be before resource_written(batch->query_buf), otherwise + * query_buf may not be created yet. + */ + fd_batch_update_queries(batch); + fd_screen_lock(ctx->screen); /* Mark SSBOs */ @@ -605,6 +610,10 @@ fd_launch_grid(struct pipe_context *pctx, if (info->indirect) resource_read(batch, info->indirect); + list_for_each_entry (struct fd_acc_query, aq, &ctx->acc_active_queries, node) { + resource_written(batch, aq->prsc); + } + /* If the saved batch has been flushed during the resource tracking, * don't re-install it: */