mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-13 20:30:11 +00:00
gl: handle B8G8R8 texture data when uploading
We do not need to translate this on the CPU when we can instead push it to the GPU in the same format and allow it to swizzle. This fixes a huge number of memory allocations found while uploading the GTK animation in widget-factory.
This commit is contained in:
parent
360a66e945
commit
3a43663630
@ -271,6 +271,12 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
|
||||
gl_type = GL_UNSIGNED_BYTE;
|
||||
bpp = 3;
|
||||
}
|
||||
else if (data_format == GDK_MEMORY_B8G8R8)
|
||||
{
|
||||
gl_format = GL_BGR;
|
||||
gl_type = GL_UNSIGNED_BYTE;
|
||||
bpp = 3;
|
||||
}
|
||||
else /* Fall-back, convert to cairo-surface-format */
|
||||
{
|
||||
copy = g_malloc (width * height * 4);
|
||||
|
Loading…
Reference in New Issue
Block a user