1
0
Fork 0
mutter-performance-source/src
Owen W. Taylor a4a688ed83 Rewrite background code
The old requirement that multiple MetaBackgroundActor objects be
layered on top of each to produce blended backgrounds resulted in
extremely inefficient drawing since the entire framebuffer had
to be read and written multiple times.

 * Replace the MetaBackground ClutterContent with a plain GObject
   that serves to hold the background parameters and prerender
   textures to be used to draw the background. It handles
   colors, gradients, and blended images, but does not handle
   vignetting

 * Add vignetting to MetaBackgroundActor directly.

 * Add MetaBackgroundImage and MetaBackgroundImageCache to allow
   multiple MetaBackground objects to share the same images

By removing the usage of ClutterContent, the following optimizations
were easy to add:

 Blending is turned off when the actor is fully opaque
 Nearest-neighbour filtering is used when drawing 1:1

The GLSL vignette code is slightly improved to use a vertex shader
snippet for computing the texture coordinate => position in actor
mapping.

https://bugzilla.gnome.org/show_bug.cgi?id=735637
2014-09-03 13:43:40 -04:00
..
backends configure: Don't conditionalize gbm 2014-08-27 12:05:00 -04:00
compositor Rewrite background code 2014-09-03 13:43:40 -04:00
core keybindings: Ignore extra modifier bits when matching iso_next_group 2014-09-02 18:11:31 +02:00
meta Rewrite background code 2014-09-03 13:43:40 -04:00
ui util: Move the text direction stuff out of MetaUI 2014-08-17 22:59:43 -04:00
wayland configure: Conditionalize libinput and gbm too 2014-08-27 09:57:43 -04:00
x11 window-x11: Fix the coordinates we use in the synthetic ConfigureNotify 2014-08-18 14:41:36 -04:00
.cvsignore Install desktop files in both .../share/applications and 2008-09-12 04:05:17 +00:00
libmutter.pc.in meta: Add generated meta-version.h 2014-06-05 14:05:16 +02:00
Makefile.am Rewrite background code 2014-09-03 13:43:40 -04:00
mutter-enum-types.c.in Add bits missing from last commit 2009-07-04 17:14:48 +01:00
mutter-enum-types.h.in Use a META_ prefix for enum types, not MUTTER_ 2012-02-23 16:39:28 -05:00
org.freedesktop.login1.xml launcher: Replace mutter-launch with logind integration 2014-05-19 15:09:23 -04:00
org.gnome.Mutter.DisplayConfig.xml Rename the DBus interface files 2014-03-31 23:44:46 -04:00
org.gnome.Mutter.IdleMonitor.xml Rename the DBus interface files 2014-03-31 23:44:46 -04:00