[Nouveau] [Mesa-stable] [PATCH 2/2] nv50: zero out unbound samplers
Emil Velikov
emil.l.velikov at gmail.com
Sat Aug 30 16:30:39 PDT 2014
On 30/08/14 23:02, Ilia Mirkin wrote:
> Samplers are only defined up to num_samplers, so set all samplers above
> nr to NULL so that we don't try to read them again later.
>
Would it be worth doing a similar thing with the unlocked samplers below the
nr mark ? It seems to me that we might be leaking nv50->samplers[s][i], or
perhaps I'm missing something ?
-Emil
> Tested-by: Christian Ruppert <idl0r at qasl.de>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> Cc: "10.2 10.3" <mesa-stable at lists.freedesktop.org>
> ---
> src/gallium/drivers/nouveau/nv50/nv50_state.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/drivers/nouveau/nv50/nv50_state.c b/src/gallium/drivers/nouveau/nv50/nv50_state.c
> index 48bc079..cf84f88 100644
> --- a/src/gallium/drivers/nouveau/nv50/nv50_state.c
> +++ b/src/gallium/drivers/nouveau/nv50/nv50_state.c
> @@ -585,9 +585,12 @@ nv50_stage_sampler_states_bind(struct nv50_context *nv50, int s,
> nv50_screen_tsc_unlock(nv50->screen, old);
> }
> assert(nv50->num_samplers[s] <= PIPE_MAX_SAMPLERS);
> - for (; i < nv50->num_samplers[s]; ++i)
> - if (nv50->samplers[s][i])
> + for (; i < nv50->num_samplers[s]; ++i) {
> + if (nv50->samplers[s][i]) {
> nv50_screen_tsc_unlock(nv50->screen, nv50->samplers[s][i]);
> + nv50->samplers[s][i] = NULL;
> + }
> + }
>
> nv50->num_samplers[s] = nr;
>
>
More information about the Nouveau
mailing list