summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2022-06-19 14:36:08 +0200
committerMarge Bot <emma+marge@anholt.net>2022-06-21 07:18:56 +0000
commit3196bde9417d0cf578c6fea0c927574b4ab193b9 (patch)
tree923c419433c8977291e9dab7f38e65e154957653
parent081b1eeacd64e02a2470af532e283578075efbed (diff)
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@gmail.com> Reviewed-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17124>
-rw-r--r--src/gallium/drivers/freedreno/freedreno_context.c3
1 files changed, 3 insertions, 0 deletions
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;