From: Ian Romanick Date: Sat, 21 Jan 2012 00:08:01 +0000 (-0800) Subject: meta: Fallback for glBlitFramebuffer from a multisample surface X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b48d4b64e97f48dcf0aef1b6f7bc333c309cc183;p=mesa.git meta: Fallback for glBlitFramebuffer from a multisample surface NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Ian Romanick Reviewed-by: Eric Anholt Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44818 --- diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index dca3613a610..05cc712cfa4 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);