From: José Fonseca Date: Mon, 29 Apr 2013 14:40:06 +0000 (+0100) Subject: llvmpipe: Fix queries when screen->num_threads == 0. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=220ef8295c3807c55df69af663ae8689597f9a9e;p=mesa.git llvmpipe: Fix queries when screen->num_threads == 0. That is, when llvmpipe is run in single-threaded mode. Trivial. Tested with LP_NUM_THREADS=0 glean --run results --overwrite --quick --tests occluQry --- diff --git a/src/gallium/drivers/llvmpipe/lp_query.c b/src/gallium/drivers/llvmpipe/lp_query.c index 6b1da8bf3ec..0fd91c044a8 100644 --- a/src/gallium/drivers/llvmpipe/lp_query.c +++ b/src/gallium/drivers/llvmpipe/lp_query.c @@ -94,6 +94,7 @@ llvmpipe_get_query_result(struct pipe_context *pipe, union pipe_query_result *vresult) { struct llvmpipe_screen *screen = llvmpipe_screen(pipe->screen); + unsigned num_threads = MAX2(1, screen->num_threads); struct llvmpipe_query *pq = llvmpipe_query(q); uint64_t *result = (uint64_t *)vresult; int i; @@ -120,12 +121,12 @@ llvmpipe_get_query_result(struct pipe_context *pipe, switch (pq->type) { case PIPE_QUERY_OCCLUSION_COUNTER: - for (i = 0; i < screen->num_threads; i++) { + for (i = 0; i < num_threads; i++) { *result += pq->count[i]; } break; case PIPE_QUERY_TIMESTAMP: - for (i = 0; i < screen->num_threads; i++) { + for (i = 0; i < num_threads; i++) { if (pq->count[i] > *result) { *result = pq->count[i]; }