1
0
Fork 0
mutter-performance-source/src/compositor
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
..
plugins Rewrite background code 2014-09-03 13:43:40 -04:00
clutter-utils.c Factor out meta_actor_painting_untransformed() 2014-09-03 13:43:40 -04:00
clutter-utils.h Factor out meta_actor_painting_untransformed() 2014-09-03 13:43:40 -04:00
cogl-utils.c Rewrite background code 2014-09-03 13:43:40 -04:00
cogl-utils.h Rewrite background code 2014-09-03 13:43:40 -04:00
compositor-private.h compositor: Sync X drawing only once per frame 2014-07-23 13:59:18 -04:00
compositor.c compositor: Conditionalize more Wayland support 2014-08-27 12:41:26 -04:00
meta-background-actor-private.h cullable: Turn cull_out / reset_culling into a separate interface 2013-11-25 15:21:36 -05:00
meta-background-actor.c Rewrite background code 2014-09-03 13:43:40 -04:00
meta-background-group.c cullable: Turn cull_out / reset_culling into a separate interface 2013-11-25 15:21:36 -05:00
meta-background-image.c Rewrite background code 2014-09-03 13:43:40 -04:00
meta-background-private.h Rewrite background code 2014-09-03 13:43:40 -04:00
meta-background.c Rewrite background code 2014-09-03 13:43:40 -04:00
meta-cullable.c cullable: Reset the culling state instead of skipping the traversal 2014-02-05 14:24:08 -05:00
meta-cullable.h Changed obsolete FSF postal address into generic URL. 2014-01-13 11:35:47 -05:00
meta-module.c meta: Add generated meta-version.h 2014-06-05 14:05:16 +02:00
meta-module.h Changed obsolete FSF postal address into generic URL. 2014-01-13 11:35:47 -05:00
meta-plugin-manager.c compositor: add support for unminimize compositor effects 2014-07-26 17:26:40 +02:00
meta-plugin-manager.h compositor: add support for unminimize compositor effects 2014-07-26 17:26:40 +02:00
meta-plugin.c compositor: add support for unminimize compositor effects 2014-07-26 17:26:40 +02:00
meta-shadow-factory-private.h Changed obsolete FSF postal address into generic URL. 2014-01-13 11:35:47 -05:00
meta-shadow-factory.c compositor: Don't use cogl_texture_new_with_data in the obvious cases 2014-08-07 14:01:14 -04:00
meta-shaped-texture-private.h surface-actor: Remove unused APIs 2014-07-31 17:49:13 +02:00
meta-shaped-texture.c Use meta_actor_painting_untransformed() for MetaShapedTexture 2014-09-03 13:43:40 -04:00
meta-surface-actor-wayland.c surface-actor-wayland: Pass in a CoglTexture, as well 2014-08-21 16:34:29 -04:00
meta-surface-actor-wayland.h surface-actor-wayland: Pass in a CoglTexture, as well 2014-08-21 16:34:29 -04:00
meta-surface-actor-x11.c surface-actor-x11: Fix "incompatible pointer type" error 2014-08-22 07:38:08 +02:00
meta-surface-actor-x11.h window-actor: Split into two subclasses of MetaSurfaceActor 2014-02-20 14:44:31 -05:00
meta-surface-actor.c meta-surface-actor: Fix is_argb32 for unredirected windows 2014-08-26 18:59:02 +02:00
meta-surface-actor.h wayland: Update the CoglTexture in the MetaWaylandSurface 2014-08-21 16:22:53 -04:00
meta-texture-rectangle.c Properly set the number of components on the CoglTextureRectangle 2014-01-13 13:28:38 -05:00
meta-texture-rectangle.h Properly set the number of components on the CoglTextureRectangle 2014-01-13 13:28:38 -05:00
meta-texture-tower.c texture-tower: Fix error case in meta-texture-tower 2014-08-08 17:29:26 -04:00
meta-texture-tower.h Changed obsolete FSF postal address into generic URL. 2014-01-13 11:35:47 -05:00
meta-window-actor-private.h compositor: Simplify meta_window_actor_set_updates_frozen 2014-06-17 13:10:42 -04:00
meta-window-actor.c compositor: Conditionalize some more Wayland support 2014-08-27 12:56:39 -04:00
meta-window-group.c Factor out meta_actor_painting_untransformed() 2014-09-03 13:43:40 -04:00
meta-window-group.h cullable: Turn cull_out / reset_culling into a separate interface 2013-11-25 15:21:36 -05:00
meta-window-shape.c Changed obsolete FSF postal address into generic URL. 2014-01-13 11:35:47 -05:00
meta-window-shape.h Changed obsolete FSF postal address into generic URL. 2014-01-13 11:35:47 -05:00
README There can be only one compositor engine 2009-06-30 09:34:03 -04:00
region-utils.c Remove trailing whitespace 2014-05-02 09:34:48 -04:00
region-utils.h Changed obsolete FSF postal address into generic URL. 2014-01-13 11:35:47 -05:00

Intro
=====

Fix me.


Env Vars
========

MUTTER_DISABLE_MIPMAPS - set to disable use of mipmaped windows.