[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