Add support for setting MUTTER_DISABLE_MIPMAPS env var.

This commit is contained in:
Matthew Allum 2008-11-05 11:48:07 +00:00
parent 3211fb04d3
commit 123f4df31b
2 changed files with 20 additions and 2 deletions

View File

@ -0,0 +1,10 @@
Intro
=====
Fix me.
Env Vars
========
MUTTER_DISABLE_MIPMAPS - set to disable use of mipmaped windows.

View File

@ -135,6 +135,7 @@ typedef struct _Mutter
gboolean show_redraw : 1;
gboolean debug : 1;
gboolean no_mipmaps : 1;
} Mutter;
typedef struct _MetaCompScreen
@ -1353,6 +1354,7 @@ repair_win (MutterWindow *cw)
MetaDisplay *display = meta_screen_get_display (screen);
Display *xdisplay = meta_display_get_xdisplay (display);
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
Mutter *compositor;
Window xwindow = priv->xwindow;
gboolean full = FALSE;
@ -1360,6 +1362,8 @@ repair_win (MutterWindow *cw)
xwindow == clutter_x11_get_stage_window (CLUTTER_STAGE (info->stage)))
return;
compositor = (Mutter*)meta_display_get_compositor (display);
meta_error_trap_push (display);
if (priv->back_pixmap == None)
@ -1393,8 +1397,9 @@ repair_win (MutterWindow *cw)
* seemingly caused by cogl_texture_set_filters() in set_filter
* Not sure if that call is actually needed.
*/
clutter_texture_set_filter_quality (CLUTTER_TEXTURE (priv->actor),
CLUTTER_TEXTURE_QUALITY_HIGH );
if (!compositor->no_mipmaps)
clutter_texture_set_filter_quality (CLUTTER_TEXTURE (priv->actor),
CLUTTER_TEXTURE_QUALITY_HIGH );
clutter_x11_texture_pixmap_set_pixmap
(CLUTTER_X11_TEXTURE_PIXMAP (priv->actor),
@ -2474,6 +2479,9 @@ mutter_new (MetaDisplay *display)
clc->display = display;
if (g_getenv("MUTTER_DISABLE_MIPMAPS"))
clc->no_mipmaps = TRUE;
meta_verbose ("Creating %d atoms\n", (int) G_N_ELEMENTS (atom_names));
XInternAtoms (xdisplay, atom_names, G_N_ELEMENTS (atom_names),
False, atoms);