diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2012-10-31 16:56:00 +0100 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@linux.intel.com> | 2012-11-06 11:45:25 +0800 |
commit | beeddaae1da253d1a442228a75f80ef40a0204ac (patch) | |
tree | a1d475d086e7bbddeff9f1d03a857ba633a6dabf | |
parent | 9b8a791290af0add84269efdb315f9f58798f6d2 (diff) |
Don't use glBlitFramebufferEXT for overlapping copies.
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 <michel.daenzer@amd.com>
-rw-r--r-- | src/glamor_copyarea.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/glamor_copyarea.c b/src/glamor_copyarea.c index 7d06833..4e6f953 100644 --- a/src/glamor_copyarea.c +++ b/src/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)) { |