From 8798a768f0d036f5a877dc70992ce8220ecc1e20 Mon Sep 17 00:00:00 2001 From: Robert Bragg Date: Tue, 1 Jun 2010 16:54:34 +0100 Subject: [PATCH] Make GLX_ARB_texture_rectangle an optional dependency --- src/compositor/mutter-shaped-texture.c | 4 ++++ src/compositor/mutter-shaped-texture.h | 2 ++ src/compositor/mutter-window.c | 2 ++ 3 files changed, 8 insertions(+), 0 deletions(-) diff --git a/src/compositor/mutter-shaped-texture.c b/src/compositor/mutter-shaped-texture.c index 984374a..c432c49 100644 --- a/src/compositor/mutter-shaped-texture.c +++ b/src/compositor/mutter-shaped-texture.c @@ -191,8 +191,10 @@ mutter_shaped_texture_dirty_mask (MutterShapedTexture *stex) cogl_texture_get_gl_texture (priv->mask_texture, &mask_gl_tex, &mask_gl_target); +#ifdef GL_ARB_texture_rectangle if (mask_gl_target == GL_TEXTURE_RECTANGLE_ARB) glDeleteTextures (1, &mask_gl_tex); +#endif cogl_handle_unref (priv->mask_texture); priv->mask_texture = COGL_INVALID_HANDLE; @@ -252,6 +254,7 @@ mutter_shaped_texture_ensure_mask (MutterShapedTexture *stex) memset (p, 255, x2 - x1); } +#ifdef GL_ARB_texture_rectangle cogl_texture_get_gl_texture (paint_tex, NULL, &paint_gl_target); if (paint_gl_target == GL_TEXTURE_RECTANGLE_ARB) @@ -276,6 +279,7 @@ mutter_shaped_texture_ensure_mask (MutterShapedTexture *stex) COGL_PIXEL_FORMAT_A_8); } else +#endif priv->mask_texture = cogl_texture_new_from_data (tex_width, tex_height, COGL_TEXTURE_NONE, COGL_PIXEL_FORMAT_A_8, diff --git a/src/compositor/mutter-shaped-texture.h b/src/compositor/mutter-shaped-texture.h index 3310bc5..1b4e83a 100644 --- a/src/compositor/mutter-shaped-texture.h +++ b/src/compositor/mutter-shaped-texture.h @@ -29,6 +29,8 @@ #include #ifdef HAVE_GLX_TEXTURE_PIXMAP #include +#else +#include #endif /* HAVE_GLX_TEXTURE_PIXMAP */ #include diff --git a/src/compositor/mutter-window.c b/src/compositor/mutter-window.c index 7a1b3ce..ede2cbf 100644 --- a/src/compositor/mutter-window.c +++ b/src/compositor/mutter-window.c @@ -381,9 +381,11 @@ mutter_window_constructed (GObject *object) { priv->actor = mutter_shaped_texture_new (); +#ifdef HAVE_GLX_TEXTURE_PIXMAP if (!clutter_glx_texture_pixmap_using_extension ( CLUTTER_GLX_TEXTURE_PIXMAP (priv->actor))) g_warning ("NOTE: Not using GLX TFP!\n"); +#endif clutter_container_add_actor (CLUTTER_CONTAINER (self), priv->actor); -- 1.6.3.3