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 <id...@qasl.de> > Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> > Cc: "10.2 10.3" <mesa-sta...@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; > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev