From 6d97c8fac12b781d8bc54d25053dd1ced835d2d9 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Mon, 17 Jun 2019 08:21:32 +0200 Subject: [PATCH] v3d: only flush jobs accessing the query BO when reading query results Reviewed-by: Eric Anholt --- src/gallium/drivers/v3d/v3d_query.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/v3d/v3d_query.c b/src/gallium/drivers/v3d/v3d_query.c index d344779..f68c423 100644 --- a/src/gallium/drivers/v3d/v3d_query.c +++ b/src/gallium/drivers/v3d/v3d_query.c @@ -116,12 +116,12 @@ static boolean v3d_get_query_result(struct pipe_context *pctx, struct pipe_query *query, boolean wait, union pipe_query_result *vresult) { + struct v3d_context *v3d = v3d_context(pctx); struct v3d_query *q = (struct v3d_query *)query; uint32_t result = 0; if (q->bo) { - /* XXX: Only flush the jobs using this BO. */ - v3d_flush(pctx); + v3d_flush_jobs_using_bo(v3d, q->bo); if (wait) { if (!v3d_bo_wait(q->bo, 0, "query")) -- 2.7.4