<div dir="ltr">On 7 March 2013 14:15, Anuj Phogat <span dir="ltr"><<a href="mailto:anuj.phogat@gmail.com" target="_blank">anuj.phogat@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Framebuffer blitting operation should be skipped if any of the<br>
dimensions (width/height) of src/dst rect are zero.<br>
<br>
Fixes: fbblit(negative.nullblit.zeroSize) in Intel oglconform<br>
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=59495" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=59495</a><br>
<br>
Note: Candidate for all the stable branches.<br>
<br>
Signed-off-by: Anuj Phogat <<a href="mailto:anuj.phogat@gmail.com">anuj.phogat@gmail.com</a>><br>
---<br>
 src/mesa/main/fbobject.c | 4 +++-<br>
 1 file changed, 3 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c<br>
index d6acc58..58a2d0b 100644<br>
--- a/src/mesa/main/fbobject.c<br>
+++ b/src/mesa/main/fbobject.c<br>
@@ -2876,7 +2876,9 @@ _mesa_BlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,<br>
    readFb = ctx->ReadBuffer;<br>
    drawFb = ctx->DrawBuffer;<br>
<br>
-   if (!readFb || !drawFb) {<br>
+   if (!readFb || !drawFb ||<br>
+       (srcX1 - srcX0) == 0 || (srcY1 - srcY0) == 0 ||<br>
+       (dstX1 - dstX0) == 0 || (dstY1 - dstY0) == 0) {<br>
       /* This will normally never happen but someday we may want to<br>
        * support MakeCurrent() with no drawables.<br>
        */<br></blockquote><div><br></div><div>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):<br>
<br>   if (!mask) {<br>      return;<br>   }<br></div></div></div></div>