[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