Looks right. We should probably bail out if the src_view is null too.
Jose ----- Original Message ----- > Similar to the previous commit. Also fix incorrect setting of the > sampler view's state after it's created. We need to specify the > first/last_level fields in the template instead. > > NOTE: This is a candidate for the 8.0 branch. > --- > src/mesa/state_tracker/st_cb_texture.c | 18 ++++++++++++++---- > 1 files changed, 14 insertions(+), 4 deletions(-) > > diff --git a/src/mesa/state_tracker/st_cb_texture.c > b/src/mesa/state_tracker/st_cb_texture.c > index c2011da..cae26ee 100644 > --- a/src/mesa/state_tracker/st_cb_texture.c > +++ b/src/mesa/state_tracker/st_cb_texture.c > @@ -609,8 +609,7 @@ decompress_with_blit(struct gl_context * ctx, > struct pipe_context *pipe = st->pipe; > struct st_texture_image *stImage = st_texture_image(texImage); > struct st_texture_object *stObj = > st_texture_object(texImage->TexObject); > - struct pipe_sampler_view *src_view = > - st_get_texture_sampler_view(stObj, pipe); > + struct pipe_sampler_view *src_view; > const GLuint width = texImage->Width; > const GLuint height = texImage->Height; > struct pipe_surface *dst_surface; > @@ -632,8 +631,17 @@ decompress_with_blit(struct gl_context * ctx, > pipe->render_condition(pipe, NULL, 0); > } > > - /* Choose the source mipmap level */ > - src_view->u.tex.first_level = src_view->u.tex.last_level = > texImage->Level; > + /* Create sampler view that limits fetches to the source mipmap > level */ > + { > + struct pipe_sampler_view sv_temp; > + > + u_sampler_view_default_template(&sv_temp, stObj->pt, > stObj->pt->format); > + > + sv_temp.u.tex.first_level = > + sv_temp.u.tex.last_level = texImage->Level; > + > + src_view = pipe->create_sampler_view(pipe, stObj->pt, > &sv_temp); > + } > > /* blit/render/decompress */ > util_blit_pixels_tex(st->blit, > @@ -702,6 +710,8 @@ decompress_with_blit(struct gl_context * ctx, > > /* destroy the temp / dest surface */ > util_destroy_rgba_surface(dst_texture, dst_surface); > + > + pipe_sampler_view_reference(&src_view, NULL); > } > > > -- > 1.7.3.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev