From bd74da9d2affc799ffaff68e9e457a81fc1a8d46 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 14 Mar 2023 16:53:46 -0400 Subject: [PATCH] glthread: add _mesa_glthread_invalidate_zsbuf() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit this allows frontends to trigger ancillary invalidation before syncing Reviewed-by: Marek Olšák Part-of: --- src/mesa/main/glthread.c | 10 ++++++++++ src/mesa/main/glthread.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/mesa/main/glthread.c b/src/mesa/main/glthread.c index 5070b58aa7b..a0d7cb61338 100644 --- a/src/mesa/main/glthread.c +++ b/src/mesa/main/glthread.c @@ -421,3 +421,13 @@ _mesa_error_glthread_safe(struct gl_context *ctx, GLenum error, bool glthread, _mesa_error(ctx, error, "%s", s); } } + +bool +_mesa_glthread_invalidate_zsbuf(struct gl_context *ctx) +{ + struct glthread_state *glthread = &ctx->GLThread; + if (!glthread->enabled) + return false; + _mesa_marshal_InternalInvalidateFramebufferAncillaryMESA(); + return true; +} diff --git a/src/mesa/main/glthread.h b/src/mesa/main/glthread.h index 65c61bd34c8..8fc35f38588 100644 --- a/src/mesa/main/glthread.h +++ b/src/mesa/main/glthread.h @@ -300,6 +300,7 @@ void _mesa_glthread_disable(struct gl_context *ctx); void _mesa_glthread_flush_batch(struct gl_context *ctx); void _mesa_glthread_finish(struct gl_context *ctx); void _mesa_glthread_finish_before(struct gl_context *ctx, const char *func); +bool _mesa_glthread_invalidate_zsbuf(struct gl_context *ctx); void _mesa_glthread_release_upload_buffer(struct gl_context *ctx); void _mesa_glthread_upload(struct gl_context *ctx, const void *data, GLsizeiptr size, unsigned *out_offset,