forked from AuroraMiddleware/gtk
Merge branch 'avoid-gl-texture-download' into 'master'
gsk: Avoid downloading GL textures when possible See merge request GNOME/gtk!2628
This commit is contained in:
commit
97d052ef1b
@ -521,8 +521,15 @@ gsk_gl_driver_get_texture_for_texture (GskGLDriver *self,
|
||||
if (GDK_IS_GL_TEXTURE (texture))
|
||||
{
|
||||
GdkGLContext *texture_context = gdk_gl_texture_get_context ((GdkGLTexture *)texture);
|
||||
GdkGLContext *shared_context = gdk_gl_context_get_shared_context (self->gl_context);
|
||||
|
||||
if (texture_context != self->gl_context)
|
||||
if (texture_context == self->gl_context ||
|
||||
(gdk_gl_context_get_shared_context (texture_context) == shared_context && shared_context != NULL))
|
||||
{
|
||||
/* A GL texture from the same GL context is a simple task... */
|
||||
return gdk_gl_texture_get_id ((GdkGLTexture *)texture);
|
||||
}
|
||||
else
|
||||
{
|
||||
cairo_surface_t *surface;
|
||||
|
||||
@ -539,11 +546,6 @@ gsk_gl_driver_get_texture_for_texture (GskGLDriver *self,
|
||||
|
||||
source_texture = downloaded_texture;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* A GL texture from the same GL context is a simple task... */
|
||||
return gdk_gl_texture_get_id ((GdkGLTexture *)texture);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user