[Mesa-dev] [PATCH 2/2] llvmpipe: replace LP_MAX_THREADS with screen->num_threads in query code

Roland Scheidegger sroland at vmware.com
Fri Apr 26 15:11:27 PDT 2013


Am 27.04.2013 00:03, schrieb Brian Paul:
> ---
>  src/gallium/drivers/llvmpipe/lp_query.c |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/src/gallium/drivers/llvmpipe/lp_query.c b/src/gallium/drivers/llvmpipe/lp_query.c
> index 96e1e3f..fcb5c6a 100644
> --- a/src/gallium/drivers/llvmpipe/lp_query.c
> +++ b/src/gallium/drivers/llvmpipe/lp_query.c
> @@ -38,6 +38,7 @@
>  #include "lp_flush.h"
>  #include "lp_fence.h"
>  #include "lp_query.h"
> +#include "lp_screen.h"
>  #include "lp_state.h"
>  
>  
> @@ -92,6 +93,7 @@ llvmpipe_get_query_result(struct pipe_context *pipe,
>                            boolean wait,
>                            union pipe_query_result *vresult)
>  {
> +   struct llvmpipe_screen *screen = llvmpipe_screen(pipe->screen);
>     struct llvmpipe_query *pq = llvmpipe_query(q);
>     uint64_t *result = (uint64_t *)vresult;
>     int i;
> @@ -118,12 +120,12 @@ llvmpipe_get_query_result(struct pipe_context *pipe,
>  
>     switch (pq->type) {
>     case PIPE_QUERY_OCCLUSION_COUNTER:
> -      for (i = 0; i < LP_MAX_THREADS; i++) {
> +      for (i = 0; i < screen->num_threads; i++) {
>           *result += pq->count[i];
>        }
>        break;
>     case PIPE_QUERY_TIMESTAMP:
> -      for (i = 0; i < LP_MAX_THREADS; i++) {
> +      for (i = 0; i < screen->num_threads; i++) {
>           if (pq->count[i] > *result) {
>              *result = pq->count[i];
>           }
> 

Series looks good to me, though I'm not entirely sure how far we expect
scaling that way to make sense.

Roland


More information about the mesa-dev mailing list