Mesa (master): v3d: only flush jobs accessing the query BO when reading query results

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jun 18 06:10:37 UTC 2019


Module: Mesa
Branch: master
Commit: 6d97c8fac12b781d8bc54d25053dd1ced835d2d9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d97c8fac12b781d8bc54d25053dd1ced835d2d9

Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Mon Jun 17 08:21:32 2019 +0200

v3d: only flush jobs accessing the query BO when reading query results

Reviewed-by: Eric Anholt <eric at anholt.net>

---

 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 d3447793b0a..f68c42321a1 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"))




More information about the mesa-commit mailing list