Mesa (main): iris: Replace unconditional QBO flush with iris_dirty_for_history().
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Apr 4 17:53:22 UTC 2022
Module: Mesa
Branch: main
Commit: 03cf7888916f3348137bf0e1368f3a6026282680
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=03cf7888916f3348137bf0e1368f3a6026282680
Author: Francisco Jerez <currojerez at riseup.net>
Date: Thu Feb 6 20:58:40 2020 -0800
iris: Replace unconditional QBO flush with iris_dirty_for_history().
We can now use the same cache tracking mechanism for synchronizing QBO
writes instead of the unconditional PIPE_CONTROL performed currently,
which is unable to invalidate any incoherent caches which may contain
stale data for the buffer object.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15738>
---
src/gallium/drivers/iris/iris_query.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/src/gallium/drivers/iris/iris_query.c b/src/gallium/drivers/iris/iris_query.c
index bb7ad66f887..49201d560da 100644
--- a/src/gallium/drivers/iris/iris_query.c
+++ b/src/gallium/drivers/iris/iris_query.c
@@ -699,13 +699,8 @@ iris_get_query_result_resource(struct pipe_context *ctx,
batch->screen->vtbl.store_data_imm64(batch, dst_bo, offset, q->result);
}
- /* Make sure the result lands before they use bind the QBO elsewhere
- * and use the result.
- */
- // XXX: Why? i965 doesn't do this.
- iris_emit_pipe_control_flush(batch,
- "query: unknown QBO flushing hack",
- PIPE_CONTROL_CS_STALL);
+ /* Make sure QBO is flushed before its result is used elsewhere. */
+ iris_dirty_for_history(ice, res);
return;
}
More information about the mesa-commit
mailing list