diff --git a/gsk/gl/gskgldriver.c b/gsk/gl/gskgldriver.c index dec77c947a..cc27a89ef6 100644 --- a/gsk/gl/gskgldriver.c +++ b/gsk/gl/gskgldriver.c @@ -761,7 +761,8 @@ gsk_gl_driver_load_texture (GskGLDriver *self, GdkGLContext *texture_context = gdk_gl_texture_get_context (gl_texture); if (gdk_gl_context_is_shared (context, texture_context) && - (!ensure_mipmap || gdk_gl_texture_has_mipmap (gl_texture))) + (!ensure_mipmap || gdk_gl_texture_has_mipmap (gl_texture)) && + gdk_memory_format_alpha (gdk_texture_get_format (texture)) != GDK_MEMORY_ALPHA_STRAIGHT) { /* A GL texture from the same GL context is a simple task... */ return gdk_gl_texture_get_id (gl_texture);