On 7 March 2013 14:15, Anuj Phogat <anuj.pho...@gmail.com> wrote: > Framebuffer blitting operation should be skipped if any of the > dimensions (width/height) of src/dst rect are zero. > > Fixes: fbblit(negative.nullblit.zeroSize) in Intel oglconform > https://bugs.freedesktop.org/show_bug.cgi?id=59495 > > Note: Candidate for all the stable branches. > > Signed-off-by: Anuj Phogat <anuj.pho...@gmail.com> > --- > src/mesa/main/fbobject.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c > index d6acc58..58a2d0b 100644 > --- a/src/mesa/main/fbobject.c > +++ b/src/mesa/main/fbobject.c > @@ -2876,7 +2876,9 @@ _mesa_BlitFramebuffer(GLint srcX0, GLint srcY0, > GLint srcX1, GLint srcY1, > readFb = ctx->ReadBuffer; > drawFb = ctx->DrawBuffer; > > - if (!readFb || !drawFb) { > + if (!readFb || !drawFb || > + (srcX1 - srcX0) == 0 || (srcY1 - srcY0) == 0 || > + (dstX1 - dstX0) == 0 || (dstY1 - dstY0) == 0) { > /* This will normally never happen but someday we may want to > * support MakeCurrent() with no drawables. > */ >
This seems too early. All of the error checking (which appears below this check) should still occur if the src/dst dimensions are zero. We should add the check to this conditional instead (near the end of the function, at line 3193): if (!mask) { return; }
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev