On Wed, Feb 18, 2015 at 1:20 PM, Brian Paul <bri...@vmware.com> wrote: > Use pipe_sampler_view_reference() instead of ordinary assignment. > Also add a new sanity check assertion. > > Fixes piglit gl-1.0-drawpixels-color-index test crash. But note > that the test still fails.
Fails on nvc0 as well, for the record. > > Cc: "10.4, 10.5" <mesa-sta...@lists.freedesktop.org> > --- > src/mesa/state_tracker/st_cb_drawpixels.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c > b/src/mesa/state_tracker/st_cb_drawpixels.c > index 939fc20..3d13b5c 100644 > --- a/src/mesa/state_tracker/st_cb_drawpixels.c > +++ b/src/mesa/state_tracker/st_cb_drawpixels.c > @@ -1154,8 +1154,10 @@ st_DrawPixels(struct gl_context *ctx, GLint x, GLint y, > > color = NULL; > if (st->pixel_xfer.pixelmap_enabled) { > - sv[1] = st->pixel_xfer.pixelmap_sampler_view; > - num_sampler_view++; > + sv[1] = NULL; > + pipe_sampler_view_reference(&sv[1], > + st->pixel_xfer.pixelmap_sampler_view); I would *much* prefer a = {NULL} when sv is declared instead of awkwardly before the reference (both here and in st_CopyPixels). With that changed, Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu> > + num_sampler_view++; > } > } > > @@ -1176,7 +1178,8 @@ st_DrawPixels(struct gl_context *ctx, GLint x, GLint y, > if (write_stencil) { > enum pipe_format stencil_format = > util_format_stencil_only(pt->format); > - > + /* we should not be doing pixel map/transfer (see above) */ > + assert(num_sampler_view == 1); > sv[1] = st_create_texture_sampler_view_format(st->pipe, pt, > stencil_format); > num_sampler_view++; > @@ -1516,7 +1519,9 @@ st_CopyPixels(struct gl_context *ctx, GLint srcx, GLint > srcy, > driver_vp = make_passthrough_vertex_shader(st, GL_FALSE); > > if (st->pixel_xfer.pixelmap_enabled) { > - sv[1] = st->pixel_xfer.pixelmap_sampler_view; > + sv[1] = NULL; > + pipe_sampler_view_reference(&sv[1], > + st->pixel_xfer.pixelmap_sampler_view); > num_sampler_view++; > } > } > -- > 1.9.1 > > _______________________________________________ > 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