Am 12.03.19 um 16:16 schrieb Rob Clark: > This previously was not called out clearly, but based on a survey of the > code, it seems the expected behavior is to release the reference to any > sampler views beyond the new range being bound.
That isn't really true. This was designed to work like d3d10, where other views are unmodified. The cso code will actually unset all views which previously were set and are above the num_views in the call (this wouldn't be necessary if the pipe function itself would work like this). However, it will only do this for fragment textures, and pass through the parameters unmodified otherwise. Which means behavior might not be very consistent for the different stages... > > I think radeonsi and freedreno were the only ones not doing this. Which > could probably temporarily leak a bit of memory by holding on to the > sampler view reference. Not sure about other drivers, but llvmpipe will not do this neither. Roland > > Signed-off-by: Rob Clark <robdcl...@gmail.com> > --- > src/gallium/docs/source/context.rst | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/src/gallium/docs/source/context.rst > b/src/gallium/docs/source/context.rst > index f89d9e1005e..199d335f8f4 100644 > --- a/src/gallium/docs/source/context.rst > +++ b/src/gallium/docs/source/context.rst > @@ -143,6 +143,9 @@ to the array index which is used for sampling. > to a respective sampler view and releases a reference to the previous > sampler view. > > + Previously bound samplers with index ``>= num_views`` are unbound rather > + than unmodified. > + > * ``create_sampler_view`` creates a new sampler view. ``texture`` is > associated > with the sampler view which results in sampler view holding a reference > to the texture. Format specified in template must be compatible > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev