If you set LP_NUM_THREADS=0 compute shaders would hang,
just execute the workloads in sequence if we have no threads
in the pool.
Fixes: 1b24e3ba75 ("llvmpipe: add compute threadpool + mutex")
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
{
struct lp_cs_tpool_task *task;
+ if (pool->num_threads == 0) {
+ struct lp_cs_local_mem lmem;
+
+ memset(&lmem, 0, sizeof(lmem));
+ for (unsigned t = 0; t < num_iters; t++) {
+ work(data, t, &lmem);
+ }
+ return NULL;
+ }
task = CALLOC_STRUCT(lp_cs_tpool_task);
if (!task) {
return NULL;