Mesa (main): freedreno: Wait for async compile jobs to finish

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jun 21 07:46:05 UTC 2022


Module: Mesa
Branch: main
Commit: 3196bde9417d0cf578c6fea0c927574b4ab193b9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3196bde9417d0cf578c6fea0c927574b4ab193b9

Author: Christian Gmeiner <christian.gmeiner at gmail.com>
Date:   Sun Jun 19 14:36:08 2022 +0200

freedreno: Wait for async compile jobs to finish

initial_variants_synchronous(..) allows initial shader variant
compilation asynchronously if debug.debug_message == NULL. If the
debug callback gets changed it seems like a good idea to wait until
all async shader compiles are done.

Signed-off-by: Christian Gmeiner <christian.gmeiner at gmail.com>
Reviewed-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17124>

---

 src/gallium/drivers/freedreno/freedreno_context.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/gallium/drivers/freedreno/freedreno_context.c b/src/gallium/drivers/freedreno/freedreno_context.c
index c88ed69cf97..4335de17f39 100644
--- a/src/gallium/drivers/freedreno/freedreno_context.c
+++ b/src/gallium/drivers/freedreno/freedreno_context.c
@@ -405,6 +405,9 @@ fd_set_debug_callback(struct pipe_context *pctx,
                       const struct util_debug_callback *cb)
 {
    struct fd_context *ctx = fd_context(pctx);
+   struct fd_screen *screen = ctx->screen;
+
+   util_queue_finish(&screen->compile_queue);
 
    if (cb)
       ctx->debug = *cb;



More information about the mesa-commit mailing list