[Mesa-dev] [PATCH] cso: null-out previously bound sampler states

Ilia Mirkin imirkin at alum.mit.edu
Tue May 3 00:13:29 UTC 2016


On Mon, May 2, 2016 at 8:02 PM, Brian Paul <brianp at vmware.com> wrote:
> If, for example, we previously had 2 sampler states bound and now we
> are binding one, we'd leave the second sampler state unchanged.
> This change nulls-out the second sampler state in this situation.
> We're already doing the same thing for sampler views.
>
> This silences an occasional warning issued by the VMware driver when
> the number of sampler views and sampler states disagreed.
>
> Reviewed-by: Charmaine Lee <charmainel at vmware.com>

Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

> ---
>  src/gallium/auxiliary/cso_cache/cso_context.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/auxiliary/cso_cache/cso_context.c b/src/gallium/auxiliary/cso_cache/cso_context.c
> index 4e0cbdd..4cf3b2b 100644
> --- a/src/gallium/auxiliary/cso_cache/cso_context.c
> +++ b/src/gallium/auxiliary/cso_cache/cso_context.c
> @@ -1203,6 +1203,7 @@ void
>  cso_single_sampler_done(struct cso_context *ctx, unsigned shader_stage)
>  {
>     struct sampler_info *info = &ctx->samplers[shader_stage];
> +   const unsigned old_nr_samplers = info->nr_samplers;
>     unsigned i;
>
>     /* find highest non-null sampler */
> @@ -1212,7 +1213,8 @@ cso_single_sampler_done(struct cso_context *ctx, unsigned shader_stage)
>     }
>
>     info->nr_samplers = i;
> -   ctx->pipe->bind_sampler_states(ctx->pipe, shader_stage, 0, i,
> +   ctx->pipe->bind_sampler_states(ctx->pipe, shader_stage, 0,
> +                                  MAX2(old_nr_samplers, info->nr_samplers),
>                                    info->samplers);
>  }
>
> --
> 1.9.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list