mesa: Fix FB blitting in case of zero size src or dst rect
authorAnuj Phogat <anuj.phogat@gmail.com>
Thu, 7 Mar 2013 22:05:38 +0000 (14:05 -0800)
committerAnuj Phogat <anuj.phogat@gmail.com>
Thu, 14 Mar 2013 00:58:09 +0000 (17:58 -0700)
Framebuffer blitting operation should be skipped if any of the
dimensions (width/height) of src/dst rect is zero.

V2: Move the dimension check after error checking in _mesa_BlitFramebuffer.

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.phogat@gmail.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
src/mesa/main/fbobject.c

index d6acc5896e8cd0d3ef76415cb988cf158d3a4524..0126e2930517c78d36f6dbd7417283e630259c55 100644 (file)
@@ -3190,7 +3190,9 @@ _mesa_BlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
       }
    }
 
-   if (!mask) {
+   if (!mask ||
+       (srcX1 - srcX0) == 0 || (srcY1 - srcY0) == 0 ||
+       (dstX1 - dstX0) == 0 || (dstY1 - dstY0) == 0) {
       return;
    }