Mesa (master): mesa: Fix FB blitting in case of zero size src or dst rect

Anuj Phogat aphogat at kemper.freedesktop.org
Thu Mar 14 00:58:49 UTC 2013


Module: Mesa
Branch: master
Commit: d78dcdf103271c539ff246651236e71f7a9c10fd
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d78dcdf103271c539ff246651236e71f7a9c10fd

Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Thu Mar  7 14:05:38 2013 -0800

mesa: Fix FB blitting in case of zero size src or dst rect

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 at gmail.com>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>

---

 src/mesa/main/fbobject.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index d6acc58..0126e29 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -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;
    }
 




More information about the mesa-commit mailing list