----- Original Message ----- > If the source region for a glCopyPixels is completely outside the > source buffer bounds, no-op the copy. Fixes a failed assertion. > > NOTE: This is a candidate for the 8.0 branch. > --- > src/mesa/state_tracker/st_cb_drawpixels.c | 10 +++++++++- > 1 files changed, 9 insertions(+), 1 deletions(-) > > diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c > b/src/mesa/state_tracker/st_cb_drawpixels.c > index 5e078a8..9a3f224 100644 > --- a/src/mesa/state_tracker/st_cb_drawpixels.c > +++ b/src/mesa/state_tracker/st_cb_drawpixels.c > @@ -1509,7 +1509,15 @@ st_CopyPixels(struct gl_context *ctx, GLint > srcx, GLint srcy, > readY = srcy; > readW = width; > readH = height; > - _mesa_clip_readpixels(ctx, &readX, &readY, &readW, &readH, > &pack); > + if (!_mesa_clip_readpixels(ctx, &readX, &readY, &readW, &readH, > &pack)) { > + /* The source region is completely out of bounds. Do nothing. > + * The GL spec says "Results of copies from outside the > window, > + * or from regions of the window that are not exposed, are > + * hardware dependent and undefined." > + */ > + return; > + } > + > readW = MAX2(0, readW); > readH = MAX2(0, readH); > > -- > 1.7.3.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev >
Reviewed-by: Jose Fonseca <jfons...@vmware.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev