[Mesa-dev] [PATCH] mesa: Fix FB blitting in case of zero size src or dst rect

Anuj Phogat anuj.phogat at gmail.com
Thu Mar 7 14:15:14 PST 2013


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.phogat at 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.
        */
-- 
1.7.11.7



More information about the mesa-dev mailing list