From 220ef8295c3807c55df69af663ae8689597f9a9e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Mon, 29 Apr 2013 15:40:06 +0100 Subject: [PATCH] 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 --- src/gallium/drivers/llvmpipe/lp_query.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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]; } -- 2.30.2