aboutsummaryrefslogtreecommitdiffstats
path: root/xorg-server-hwcursor-gamma/0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--xorg-server-hwcursor-gamma/0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch16
1 files changed, 16 insertions, 0 deletions
diff --git a/xorg-server-hwcursor-gamma/0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch b/xorg-server-hwcursor-gamma/0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch
new file mode 100644
index 0000000..dc2e7ef
--- /dev/null
+++ b/xorg-server-hwcursor-gamma/0001-glamor-swizzle-RED-to-0-for-alpha-textures.patch
@@ -0,0 +1,16 @@
+diff --git a/glamor/glamor_fbo.c b/glamor/glamor_fbo.c
+index a531f60..f4f8749 100644
+--- a/glamor/glamor_fbo.c
++++ b/glamor/glamor_fbo.c
+@@ -352,8 +352,10 @@ _glamor_create_tex(glamor_screen_private *glamor_priv,
+ glBindTexture(GL_TEXTURE_2D, tex);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+- if (format == glamor_priv->one_channel_format && format == GL_RED)
++ if (format == glamor_priv->one_channel_format && format == GL_RED) {
++ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_R, GL_ZERO);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_A, GL_RED);
++ }
+ glamor_priv->suppress_gl_out_of_memory_logging = true;
+ glTexImage2D(GL_TEXTURE_2D, 0, format, w, h, 0,
+ format, GL_UNSIGNED_BYTE, NULL);