summaryrefslogtreecommitdiffstats
path: root/mutter-never-slice-shape-mask.patch
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2012-05-09 17:49:04 -0400
committerAdam Jackson <ajax@redhat.com>2012-05-09 17:49:04 -0400
commit0584516f4201a47a99f680404a5d635a613eb27c (patch)
tree38169858f1dc5ae8b5749d61831b5a0001376de8 /mutter-never-slice-shape-mask.patch
parent938500f8298016ee0e16f65b30fef1c302331d9b (diff)
downloadmutter-0584516f4201a47a99f680404a5d635a613eb27c.tar.gz
mutter-0584516f4201a47a99f680404a5d635a613eb27c.tar.xz
mutter-0584516f4201a47a99f680404a5d635a613eb27c.zip
mutter-never-slice-shape-mask.patch, mutter-use-cogl-texrect-api.patch:
Fix window texturing on hardware without ARB_texture_non_power_of_two (#813648)
Diffstat (limited to 'mutter-never-slice-shape-mask.patch')
-rw-r--r--mutter-never-slice-shape-mask.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/mutter-never-slice-shape-mask.patch b/mutter-never-slice-shape-mask.patch
new file mode 100644
index 0000000..797fdde
--- /dev/null
+++ b/mutter-never-slice-shape-mask.patch
@@ -0,0 +1,43 @@
+From a22859a64a60b38346ce7faabad6a9a48d7a8d9f Mon Sep 17 00:00:00 2001
+From: Robert Bragg <robert@linux.intel.com>
+Date: Wed, 25 Apr 2012 00:48:19 +0000
+Subject: shaped-texture: never slice shape mask texture
+
+Since Cogl doesn't support multi-texturing with sliced textures and the
+shape texture is combined with the texture-from-pixmap texture we need
+to make sure we never construct a sliced mask texture. This patch simply
+passes the COGL_TEXTURE_NO_SLICE flag to cogl_texture_from_data when
+creating the shape mask texture.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=674731
+---
+diff --git a/src/compositor/meta-shaped-texture.c b/src/compositor/meta-shaped-texture.c
+index 07bd93c..182d23b 100644
+--- a/src/compositor/meta-shaped-texture.c
++++ b/src/compositor/meta-shaped-texture.c
+@@ -313,12 +313,17 @@ meta_shaped_texture_ensure_mask (MetaShapedTexture *stex)
+ }
+ else
+ #endif /* GL_TEXTURE_RECTANGLE_ARB */
+- priv->mask_texture = cogl_texture_new_from_data (tex_width, tex_height,
+- COGL_TEXTURE_NONE,
+- COGL_PIXEL_FORMAT_A_8,
+- COGL_PIXEL_FORMAT_ANY,
+- stride,
+- mask_data);
++ {
++ /* Note: we don't allow slicing for this texture because we
++ * need to use it with multi-texturing which doesn't support
++ * sliced textures */
++ priv->mask_texture = cogl_texture_new_from_data (tex_width, tex_height,
++ COGL_TEXTURE_NO_SLICING,
++ COGL_PIXEL_FORMAT_A_8,
++ COGL_PIXEL_FORMAT_ANY,
++ stride,
++ mask_data);
++ }
+
+ g_free (mask_data);
+
+--
+cgit v0.9.0.2