2008-11-07 Matthew Allum <mallum@linux.intel.com>

* clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-clone-texture.c:
        * clutter/clutter-private.h:
        * clutter/clutter-texture.c:
        * clutter/x11/clutter-x11-texture-pixmap.c:

        Attempt to lower overhead of updating TFP's (particularly mipmaped).
        Compresses mipmap updates only for visible TFPs.
        Avoiding updates for non visible TFP's whilst keeping visible
        clones working ok.
This commit is contained in:
Matthew Allum
2008-11-07 16:31:56 +00:00
parent b6cc701930
commit c7c5cf9bd4
8 changed files with 104 additions and 11 deletions

View File

@@ -572,6 +572,13 @@ clutter_texture_paint (ClutterActor *self)
clutter_shader_set_is_enabled (shader, TRUE);
}
/* A clone may need to fire above if were a TFP/FBO but not visible.
* Ultimatly needs some reworking with maybe an extra prepare_paint
* method or some such.
*/
if (CLUTTER_PRIVATE_FLAGS(self) & CLUTTER_TEXTURE_IN_CLONE_PAINT)
return;
CLUTTER_NOTE (PAINT,
"painting texture '%s'",
clutter_actor_get_name (self) ? clutter_actor_get_name (self)