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@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11341>
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user