From 12f05e80aa40891ce3b7dab9d11089542f75f5d9 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 25 Sep 2020 13:15:54 -0400 Subject: gl: Fix RGB uploads I don't really know what to say, other than: OpenGL is terrible Fixes: #3194 --- gdk/gdkglcontext.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c index f9512b0343..5614b2ce47 100644 --- a/gdk/gdkglcontext.c +++ b/gdk/gdkglcontext.c @@ -291,6 +291,8 @@ gdk_gl_context_upload_texture (GdkGLContext *context, */ if (stride == width * bpp) { + glPixelStorei (GL_UNPACK_ALIGNMENT, 1); + glTexImage2D (texture_target, 0, GL_RGBA, width, height, 0, gl_format, gl_type, data); } else if ((!priv->use_es || -- cgit v1.2.1 From 3db217ab7aa683fed8fb2ab3603e021c7136a35a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 25 Sep 2020 16:17:45 -0400 Subject: gl: Reset GL_UNPACK_ALIGNMENT Reset GL_UNPACK_ALIGNMENT to its initial value of 4 after changing it for a glTexImage2D call. --- gdk/gdkglcontext.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c index 5614b2ce47..7f544dc003 100644 --- a/gdk/gdkglcontext.c +++ b/gdk/gdkglcontext.c @@ -294,6 +294,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context, glPixelStorei (GL_UNPACK_ALIGNMENT, 1); glTexImage2D (texture_target, 0, GL_RGBA, width, height, 0, gl_format, gl_type, data); + glPixelStorei (GL_UNPACK_ALIGNMENT, 4); } else if ((!priv->use_es || (priv->use_es && (priv->gl_version >= 30 || priv->has_unpack_subimage)))) @@ -304,6 +305,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context, glTexImage2D (texture_target, 0, GL_RGBA, width, height, 0, gl_format, gl_type, data); glPixelStorei (GL_UNPACK_ROW_LENGTH, 0); + glPixelStorei (GL_UNPACK_ALIGNMENT, 4); } else { -- cgit v1.2.1