Mesa (master): zink: simplify some queue-related query code
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Mar 23 17:20:50 UTC 2021
Module: Mesa
Branch: master
Commit: a1d03cd031a1487268825e08140007d033a54d0e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a1d03cd031a1487268825e08140007d033a54d0e
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date: Wed Nov 4 15:15:01 2020 -0500
zink: simplify some queue-related query code
we can collapse these conditionals now that things are more unified
Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9726>
---
src/gallium/drivers/zink/zink_query.c | 21 ++++++++-------------
1 file changed, 8 insertions(+), 13 deletions(-)
diff --git a/src/gallium/drivers/zink/zink_query.c b/src/gallium/drivers/zink/zink_query.c
index 2ec4c52b70a..1bf924a0cfb 100644
--- a/src/gallium/drivers/zink/zink_query.c
+++ b/src/gallium/drivers/zink/zink_query.c
@@ -612,19 +612,14 @@ zink_get_query_result(struct pipe_context *pctx,
{
struct zink_query *query = (void*)q;
struct zink_context *ctx = zink_context(pctx);
- if (is_cs_query(query)) {
- if (wait) {
- uint32_t batch_id = p_atomic_read(&query->batch_id.usage[ZINK_QUEUE_COMPUTE]);
- zink_wait_on_batch(ctx, ZINK_QUEUE_COMPUTE, batch_id);
- } else {
- zink_flush_queue(ctx, ZINK_QUEUE_COMPUTE);
- }
- } else {
- if (wait) {
- zink_fence_wait(pctx);
- } else
- pctx->flush(pctx, NULL, 0);
- }
+ enum zink_queue queue = is_cs_query(query) ? ZINK_QUEUE_COMPUTE : ZINK_QUEUE_GFX;
+ uint32_t batch_id = p_atomic_read(&query->batch_id.usage[queue]);
+
+ if (wait)
+ zink_wait_on_batch(ctx, queue, batch_id);
+ else if (batch_id == ctx->curr_batch)
+ zink_flush_queue(ctx, queue);
+
return get_query_result(pctx, q, wait, result);
}
More information about the mesa-commit
mailing list