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>
This commit is contained in:
parent
e846f48f48
commit
14e02f5132
|
@ -318,7 +318,8 @@ __glamor_copy_n_to_n(DrawablePtr src,
|
||||||
dx, dy,
|
dx, dy,
|
||||||
src_pixmap, dst_pixmap);
|
src_pixmap, dst_pixmap);
|
||||||
#ifndef GLAMOR_GLES2
|
#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)
|
|| !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,
|
&& glamor_copy_n_to_n_fbo_blit(src, dst, gc, box, nbox, dx,
|
||||||
dy)) {
|
dy)) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user