From 0a0aa24b33c4a3d18426f09674ff67c23e71cfd2 Mon Sep 17 00:00:00 2001 From: Sviatoslav Peleshko Date: Mon, 22 Aug 2022 13:48:40 +0300 Subject: [PATCH] iris: Always initialize shader compilation queue ready fence MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We use/delete this fence unconditionally, but it was initialized only when screen->precompile is set. Move the util_queue_fence_init call to the iris_create_uncompiled_shader to initialize it always. Fixes: 42c34e1a ("iris: Enable threaded shader compilation") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7074 Signed-off-by: Sviatoslav Peleshko Tested-by: Yonggang Luo Reviewed-by: Tapani Pälli Part-of: --- src/gallium/drivers/iris/iris_program.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gallium/drivers/iris/iris_program.c b/src/gallium/drivers/iris/iris_program.c index 1e9cbc4f755..f4898ae897f 100644 --- a/src/gallium/drivers/iris/iris_program.c +++ b/src/gallium/drivers/iris/iris_program.c @@ -1280,8 +1280,6 @@ iris_schedule_compile(struct iris_screen *screen, util_queue_execute_func execute) { - util_queue_fence_init(ready_fence); - struct util_async_debug_callback async_debug; if (dbg) { @@ -2456,6 +2454,7 @@ iris_create_uncompiled_shader(struct iris_screen *screen, pipe_reference_init(&ish->ref, 1); list_inithead(&ish->variants); simple_mtx_init(&ish->lock, mtx_plain); + util_queue_fence_init(&ish->ready); ish->uses_atomic_load_store = iris_uses_image_atomic(nir);