Mesa (master): meta: Fallback for glBlitFramebuffer from a multisample surface

Ian Romanick idr at kemper.freedesktop.org
Mon Jan 23 23:18:54 UTC 2012


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

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Fri Jan 20 16:08:01 2012 -0800

meta: Fallback for glBlitFramebuffer from a multisample surface

NOTE: This is a candidate for the 8.0 branch.

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44818

---

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

diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index dca3613..05cc712 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -1451,7 +1451,12 @@ _mesa_meta_BlitFramebuffer(struct gl_context *ctx,
    struct vertex verts[4];
    GLboolean newTex;
 
-   if (srcW > maxTexSize || srcH > maxTexSize) {
+   /* In addition to falling back if the blit size is larger than the maximum
+    * texture size, fallback if the source is multisampled.  This fallback can
+    * be removed once Mesa gets support ARB_texture_multisample.
+    */
+   if (srcW > maxTexSize || srcH > maxTexSize
+       || ctx->ReadBuffer->Visual.samples > 0) {
       /* XXX avoid this fallback */
       _swrast_BlitFramebuffer(ctx, srcX0, srcY0, srcX1, srcY1,
                               dstX0, dstY0, dstX1, dstY1, mask, filter);




More information about the mesa-commit mailing list