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