llvmpipe: compute shaders work better with all the threads.
authorDave Airlie <airlied@redhat.com>
Thu, 21 May 2020 03:38:03 +0000 (13:38 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 21 May 2020 04:10:41 +0000 (14:10 +1000)
I got to benchmarking some vulkan compute benchmark and wondered
why my CPUs weren't being saturated, helps if you actually wake up
all the threads in the threadpool.

Fixes: 1b24e3ba756b (llvmpipe: add compute threadpool + mutex)
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5138>

src/gallium/drivers/llvmpipe/lp_cs_tpool.c

index 4a23b6a2a950e93521af4579ecba598dc9031b7c..ea2844685129e72e4db1f8e495adf04ef81c29ae 100644 (file)
@@ -137,7 +137,7 @@ lp_cs_tpool_queue_task(struct lp_cs_tpool *pool,
 
    list_addtail(&task->list, &pool->workqueue);
 
-   cnd_signal(&pool->new_work);
+   cnd_broadcast(&pool->new_work);
    mtx_unlock(&pool->m);
    return task;
 }