Mesa (10.2): meta: Avoid _swrast_BlitFramebuffer in the meta CopyTexSubImage code.

Ian Romanick idr at kemper.freedesktop.org
Fri May 23 18:17:37 UTC 2014


Module: Mesa
Branch: 10.2
Commit: 085d6bd5e70b5ae4fde49512314eb21a10ab6d78
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=085d6bd5e70b5ae4fde49512314eb21a10ab6d78

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sun May 18 22:26:59 2014 -0700

meta: Avoid _swrast_BlitFramebuffer in the meta CopyTexSubImage code.

This is a replacement for bd44ac8b5ca08016bb064b37edaec95eccfdbcd5
that should actually work.

Fixes Piglit's copyteximage-border on swrast, as well as one of
es3conform's packed_pixels_pixelstore test.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78546
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77705
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Cc: "10.2" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 2ecc7268bacf5d240ddd4d341360bfb31f4dd04f)

---

 src/mesa/drivers/common/meta.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index f90d5bd..b194b6e 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -2860,13 +2860,13 @@ copytexsubimage_using_blit_framebuffer(struct gl_context *ctx, GLuint dims,
     * are too strict for CopyTexImage.  We know meta will be fine with format
     * changes.
     */
-   _mesa_meta_and_swrast_BlitFramebuffer(ctx, x, y,
-                                         x + width, y + height,
-                                         xoffset, yoffset,
-                                         xoffset + width, yoffset + height,
-                                         mask, GL_NEAREST);
+   mask = _mesa_meta_BlitFramebuffer(ctx, x, y,
+                                     x + width, y + height,
+                                     xoffset, yoffset,
+                                     xoffset + width, yoffset + height,
+                                     mask, GL_NEAREST);
    ctx->Meta->Blit.no_ctsi_fallback = false;
-   success = true;
+   success = mask == 0x0;
 
  out:
    _mesa_lock_texture(ctx, texObj);




More information about the mesa-commit mailing list