glthread: add _mesa_glthread_invalidate_zsbuf()

this allows frontends to trigger ancillary invalidation before syncing

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21910>
This commit is contained in:
Mike Blumenkrantz 2023-03-14 16:53:46 -04:00 committed by Marge Bot
parent 0c7994bb2d
commit bd74da9d2a
2 changed files with 11 additions and 0 deletions

View file

@ -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;
}

View file

@ -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,