iris: Always initialize shader compilation queue ready fence

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 <sviatoslav.peleshko@globallogic.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18182>
This commit is contained in:
Sviatoslav Peleshko 2022-08-22 13:48:40 +03:00 committed by Marge Bot
parent 9027c5df4c
commit 0a0aa24b33

View file

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