Mesa (main): mesa: execute glFlush asynchronously if no image has been imported/exported
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Jun 17 02:54:23 UTC 2021
Module: Mesa
Branch: main
Commit: 849ab4ea0caf9e2ce3d4bb5d2f1308edff9913fd
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=849ab4ea0caf9e2ce3d4bb5d2f1308edff9913fd
Author: Marek Olšák <marek.olsak at amd.com>
Date: Fri May 21 17:52:27 2021 -0400
mesa: execute glFlush asynchronously if no image has been imported/exported
This improves viewperf performance and it shouldn't break synchronization
with external clients when it's indirectly implied by glFlush.
This should not break the cases described in:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/4903
Acked-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Reviewed-by: Adam Jackson <ajax at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11341>
---
src/mesa/main/context.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index d83fab6954f..b94a6d272d2 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -1772,7 +1772,9 @@ _mesa_flush(struct gl_context *ctx)
{
FLUSH_VERTICES(ctx, 0, 0);
if (ctx->Driver.Flush) {
- ctx->Driver.Flush(ctx, 0);
+ bool async = !ctx->Shared->HasExternallySharedImages;
+
+ ctx->Driver.Flush(ctx, async ? PIPE_FLUSH_ASYNC : 0);
}
}
More information about the mesa-commit
mailing list