summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'hardened/xorg/x11-base/xorg-server/files/1.1.1-fix_big_endian_glx.patch')
-rw-r--r--hardened/xorg/x11-base/xorg-server/files/1.1.1-fix_big_endian_glx.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/hardened/xorg/x11-base/xorg-server/files/1.1.1-fix_big_endian_glx.patch b/hardened/xorg/x11-base/xorg-server/files/1.1.1-fix_big_endian_glx.patch
new file mode 100644
index 0000000..5bc902b
--- /dev/null
+++ b/hardened/xorg/x11-base/xorg-server/files/1.1.1-fix_big_endian_glx.patch
@@ -0,0 +1,24 @@
+commit 3ad1642f1bbaa5f96558cdf3384b40f7122f8781
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Sun Oct 15 16:57:09 2006 +0200
+
+ Fix __glXDRIbindTexImage() for 32 bpp on big endian platforms.
+
+diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
+index b572304..170662c 100644
+--- a/GL/glx/glxdri.c
++++ b/GL/glx/glxdri.c
+@@ -359,7 +359,12 @@ __glXDRIbindTexImage(__GLXcontext *baseC
+ if (pixmap->drawable.depth >= 24) {
+ bpp = 4;
+ format = GL_BGRA;
+- type = GL_UNSIGNED_BYTE;
++ type =
++#if X_BYTE_ORDER == X_LITTLE_ENDIAN
++ GL_UNSIGNED_BYTE;
++#else
++ GL_UNSIGNED_INT_8_8_8_8_REV;
++#endif
+ } else {
+ bpp = 2;
+ format = GL_RGB;