etnaviv: query: optimize context flushes
authorLucas Stach <l.stach@pengutronix.de>
Fri, 9 Jun 2023 17:09:21 +0000 (19:09 +0200)
committerMarge Bot <emma+marge@anholt.net>
Sun, 11 Jun 2023 18:41:32 +0000 (18:41 +0000)
Same as the transfer flushes, the flushes caused by waiting for
a query result don't need to realize context external visibility
of resource changes and can thus be a bit more lightweight.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23557>

src/gallium/drivers/etnaviv/etnaviv_query_acc.c

index 3b01bfb..9578cb7 100644 (file)
@@ -125,14 +125,14 @@ etna_acc_get_query_result(struct etna_context *ctx, struct etna_query *q,
           * spin forever.
           */
          if (aq->no_wait_cnt++ > 5) {
-            ctx->base.flush(&ctx->base, NULL, 0);
+            etna_flush(&ctx->base, NULL, 0, true);
             aq->no_wait_cnt = 0;
          }
 
          return false;
       } else {
          /* flush that GPU executes all query related actions */
-         ctx->base.flush(&ctx->base, NULL, 0);
+         etna_flush(&ctx->base, NULL, 0, true);
       }
    }