From 14e02f5132d7b4f50c8d9f8e5c6a0f285a3f3c14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Wed, 31 Oct 2012 16:56:00 +0100 Subject: [PATCH] Don't use glBlitFramebufferEXT for overlapping copies. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit According to the GL_EXT_framebuffer_blit spec, the result of doing so is undefined. But we need well-defined results. :) Signed-off-by: Michel Dänzer --- glamor/glamor_copyarea.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/glamor/glamor_copyarea.c b/glamor/glamor_copyarea.c index 7d06833d6..4e6f953d2 100644 --- a/glamor/glamor_copyarea.c +++ b/glamor/glamor_copyarea.c @@ -318,7 +318,8 @@ __glamor_copy_n_to_n(DrawablePtr src, dx, dy, src_pixmap, dst_pixmap); #ifndef GLAMOR_GLES2 - if ((overlaped || glamor_priv->state != RENDER_STATE + if (!overlaped && + (glamor_priv->state != RENDER_STATE || !src_pixmap_priv->base.gl_tex || !dst_pixmap_priv->base.gl_tex) && glamor_copy_n_to_n_fbo_blit(src, dst, gc, box, nbox, dx, dy)) {