From b48d4b64e97f48dcf0aef1b6f7bc333c309cc183 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Fri, 20 Jan 2012 16:08:01 -0800 Subject: 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 --- src/mesa/drivers/common/meta.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') 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); -- cgit v1.2.3