[Mesa-dev] [PATCH] cso: fix sampler view count in cso_set_sampler_views()

Roland Scheidegger sroland at vmware.com
Wed Apr 2 10:45:58 PDT 2014


Am 02.04.2014 18:34, schrieb Brian Paul:
> We want to call pipe->set_sampler_views() with count being the
> maximum of the old number of sampler views and the new number.
> This makes sure we null-out any old sampler views.
> 
> We already do the same thing for sampler states in single_sampler_done().
> Fixes some assertions seen in the VMware driver with XA tracker.
> 
> Cc: "10.0" "10.1" <mesa-stable at lists.freedesktop.org>
> Reviewed-by: Thomas Hellstrom <thellstrom at vmware.com>
> Tested-by: Thomas Hellstrom <thellstrom at vmware.com>
> ---
>  src/gallium/auxiliary/cso_cache/cso_context.c |    7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/src/gallium/auxiliary/cso_cache/cso_context.c b/src/gallium/auxiliary/cso_cache/cso_context.c
> index 9146684..dda3c20 100644
> --- a/src/gallium/auxiliary/cso_cache/cso_context.c
> +++ b/src/gallium/auxiliary/cso_cache/cso_context.c
> @@ -1187,11 +1187,12 @@ cso_set_sampler_views(struct cso_context *ctx,
>        pipe_sampler_view_reference(&info->views[i], NULL);
>     }
>  
> -   info->nr_views = count;
> -
>     /* bind the new sampler views */
> -   ctx->pipe->set_sampler_views(ctx->pipe, shader_stage, 0, count,
> +   ctx->pipe->set_sampler_views(ctx->pipe, shader_stage, 0,
> +                                MAX2(info->nr_views, count),
>                                  info->views);
> +
> +   info->nr_views = count;
>  }
>  
>  
> 

Looks good to me.

Roland


More information about the mesa-dev mailing list