mutter/clutter
Robert Bragg 8ab68d26a5 pipeline: optimize state init if changing property
When notifying that a pipeline property is going to change, then at
times a pipeline will take over being the authority of the corresponding
state group. Some state groups can contain multiple properties and so to
maintain the integrity of all of the properties we have to initialize
all the property values in the new authority. For state groups with only
one property we don't have to initialize anything during the
pre_change_notify() because we can assume the value will be initialized
as part of the change being notified.

This patch optimizes how we handle this initialization of state groups
in a couple of ways; firstly we no longer do anything to initialize
state-groups with only one property, secondly we no longer use
_cogl_pipeline_copy_differences - (we have a new
_cogl_pipeline_init_multi_property_sparse_state() func) so we can avoid
lots calls to handle_automatic_blend_enable() which is sometimes seen
high in sysprof profiles.
2011-01-13 12:23:33 +00:00
..
cally cally: Allow memory management for actions 2010-12-14 10:07:32 +00:00
cogl pipeline: optimize state init if changing property 2011-01-13 12:23:33 +00:00
egl egl: Fix build for --with-flavour=opengl-egl-xlib 2011-01-06 17:16:51 +00:00
evdev evdev: Add a comment to revisit the GSource management with glib 2.28 2010-11-30 14:50:13 +00:00
fruity Use G_STRFUNC correctly 2010-12-09 15:42:19 +00:00
glx stage-window: tweak has_redraw_clips semantics 2010-11-24 15:09:47 +00:00
osx osx: Implement the set_accept_focus() vfunc 2010-12-30 12:47:00 +00:00
wayland Rename the EGLDisplay accessors 2010-12-09 15:34:22 +00:00
win32 win32: Implement the set_accept_focus() vfunc 2010-12-30 12:47:00 +00:00
x11 x11: Create the list of all devices correctly 2011-01-06 14:28:41 +00:00
clutter-action.c
clutter-action.h
clutter-actor-box.c Merge branch 'private-cleanup' 2010-10-25 23:44:53 +01:00
clutter-actor-meta-private.h Add copyright notices 2010-10-21 13:13:00 +01:00
clutter-actor-meta.c Set the signal handler to 0 when disconnecting it. 2010-11-29 10:54:33 +00:00
clutter-actor-meta.h Add copyright notices 2010-10-21 13:13:00 +01:00
clutter-actor-private.h Remove unnecessary duplicate name for private enumerations 2010-12-10 16:03:10 +00:00
clutter-actor.c geometry: Avoid sign issues when interpolating 2010-12-17 13:53:28 +00:00
clutter-actor.h Reduce the amount of g-ir-scanner warnings 2010-12-09 12:36:50 +00:00
clutter-align-constraint.c ClutterAlignConstraint: Keep pixel aligment 2011-01-10 18:45:22 +00:00
clutter-align-constraint.h Remove trailin enum commas, avoiding C++ warnings. 2010-09-13 15:45:55 +01:00
clutter-alpha.c Move more classes to install_properties() 2010-10-18 11:26:45 +01:00
clutter-alpha.h
clutter-animatable.c Use G_DEFINE_INTERFACE 2010-10-18 11:26:44 +01:00
clutter-animatable.h animatable: Allow passing a NULL animation 2010-07-31 10:56:09 +01:00
clutter-animation.c animation: Allow transforming values in bind() 2010-12-11 17:43:23 +00:00
clutter-animation.h animation: Allow detaching an animation from an actor 2010-09-10 11:18:53 +01:00
clutter-animator.c Clean up clutter-private.h/6 2010-10-21 12:22:17 +01:00
clutter-animator.h animator,state: Mark variadic functions that ends with NULL 2010-06-07 14:22:26 +01:00
clutter-backend-private.h Add copyright notices 2010-10-21 13:13:00 +01:00
clutter-backend.c Clean up clutter-private.h/4 2010-10-21 12:22:17 +01:00
clutter-backend.h Clean up clutter-private.h/4 2010-10-21 12:22:17 +01:00
clutter-behaviour-depth.c Deprecate ClutterBehaviour and sub-classes 2010-11-18 15:21:16 +00:00
clutter-behaviour-depth.h Deprecate ClutterBehaviour and sub-classes 2010-11-18 15:21:16 +00:00
clutter-behaviour-ellipse.c Deprecate ClutterBehaviour and sub-classes 2010-11-18 15:21:16 +00:00
clutter-behaviour-ellipse.h Deprecate ClutterBehaviour and sub-classes 2010-11-18 15:21:16 +00:00
clutter-behaviour-opacity.c Deprecate ClutterBehaviour and sub-classes 2010-11-18 15:21:16 +00:00
clutter-behaviour-opacity.h Deprecate ClutterBehaviour and sub-classes 2010-11-18 15:21:16 +00:00
clutter-behaviour-path.c Deprecate ClutterBehaviour and sub-classes 2010-11-18 15:21:16 +00:00
clutter-behaviour-path.h Deprecate ClutterBehaviour and sub-classes 2010-11-18 15:21:16 +00:00
clutter-behaviour-rotate.c Deprecate ClutterBehaviour and sub-classes 2010-11-18 15:21:16 +00:00
clutter-behaviour-rotate.h Deprecate ClutterBehaviour and sub-classes 2010-11-18 15:21:16 +00:00
clutter-behaviour-scale.c docs: Fix some wrong function/signal/property names 2010-11-18 15:21:16 +00:00
clutter-behaviour-scale.h Deprecate ClutterBehaviour and sub-classes 2010-11-18 15:21:16 +00:00
clutter-behaviour.c Deprecate ClutterBehaviour and sub-classes 2010-11-18 15:21:16 +00:00
clutter-behaviour.h docs: Fix some wrong function/signal/property names 2010-11-18 15:21:16 +00:00
clutter-bezier.c
clutter-bezier.h
clutter-bin-layout.c Move more classes to install_properties() 2010-10-18 11:26:45 +01:00
clutter-bin-layout.h
clutter-bind-constraint.c constraints: Remove signal handlers on dispose 2010-12-18 13:24:54 +00:00
clutter-bind-constraint.h constraint: Re-implement using update_allocation() 2010-09-17 12:17:50 +01:00
clutter-binding-pool.c binding-pool: Use the correct marshaller 2010-10-25 00:39:13 +01:00
clutter-binding-pool.h
clutter-blur-effect.c shaders: Fix the usage of the Cogl GLSL variables 2010-11-17 12:47:46 +00:00
clutter-blur-effect.h
clutter-box-layout.c box-layout: Plug a memory leak 2010-10-08 13:29:49 +01:00
clutter-box-layout.h
clutter-box.c Remove unnecessary GLib version checks 2010-10-18 11:26:45 +01:00
clutter-box.h
clutter-cairo-texture.c gtk-doc: Fixes for the API references 2010-11-08 16:01:19 +00:00
clutter-cairo-texture.h gtk-doc: Fixes for the API references 2010-11-08 16:01:19 +00:00
clutter-child-meta.c Move more classes to install_properties() 2010-10-18 11:26:45 +01:00
clutter-child-meta.h
clutter-click-action.c click-action: don't use pointer grabs 2010-11-11 23:18:20 +00:00
clutter-click-action.h click-action: Add get_button() 2010-08-26 16:39:39 +01:00
clutter-clone.c Don't update or use last_paint_box when painting inside a clone 2010-11-23 12:50:29 +00:00
clutter-clone.h
clutter-color-static.h color: Add named, global colors 2010-11-11 13:14:23 +00:00
clutter-color.c docs: Fix listitem tag 2010-12-08 14:26:27 +00:00
clutter-color.h introspection: Skip some C-only structures 2010-12-10 17:15:39 +00:00
clutter-colorize-effect.c shaders: Fix the usage of the Cogl GLSL variables 2010-11-17 12:47:46 +00:00
clutter-colorize-effect.h effect: Add ColorizeEffect 2010-06-03 14:10:55 +01:00
clutter-constraint.c docs: Fix some wrong function/signal/property names 2010-11-18 15:21:16 +00:00
clutter-constraint.h constraint: Add ::update_allocation() 2010-09-17 12:17:50 +01:00
clutter-container.c container: Do not use Actor as prerequisite 2011-01-10 14:03:35 +00:00
clutter-container.h container: Add child_notify() wrapper 2010-09-30 14:58:23 +01:00
clutter-debug.h debug: Do not use '&' in the messages 2010-10-19 01:42:19 +01:00
clutter-deform-effect.c Fixed a typo in a doc string 2010-12-17 13:37:05 +00:00
clutter-deform-effect.h build: Re-arrange headers 2010-11-18 18:23:49 +00:00
clutter-deprecated.h
clutter-desaturate-effect.c shaders: Fix the usage of the Cogl GLSL variables 2010-11-17 12:47:46 +00:00
clutter-desaturate-effect.h
clutter-device-manager-private.h evdev: First stab at an evdev backend 2010-11-30 14:40:37 +00:00
clutter-device-manager.c Clean up clutter-private.h/4 2010-10-21 12:22:17 +01:00
clutter-device-manager.h Reduce the amount of g-ir-scanner warnings 2010-12-09 12:36:50 +00:00
clutter-drag-action.c docs: Fix some wrong function/signal/property names 2010-11-18 15:21:16 +00:00
clutter-drag-action.h drag-action: Added x-drag-threshold and y-drag-threshold properties 2010-09-07 10:40:49 +01:00
clutter-effect.c paint volumes: another pass at the design 2010-09-29 15:12:57 +01:00
clutter-effect.h build: Re-arrange headers 2010-11-18 18:23:49 +00:00
clutter-enum-types.c.in
clutter-enum-types.h.in
clutter-event.c Clean up clutter-private.h/4 2010-10-21 12:22:17 +01:00
clutter-event.h Remove trailin enum commas, avoiding C++ warnings. 2010-09-13 15:45:55 +01:00
clutter-feature.c Clean up clutter-private.h/4 2010-10-21 12:22:17 +01:00
clutter-feature.h
clutter-fixed-layout.c layout-manager: Implement set_container() 2010-06-07 22:40:34 +01:00
clutter-fixed-layout.h
clutter-fixed.c Add caller-allocates annotations 2010-09-08 17:04:21 +01:00
clutter-fixed.h introspection: Skip some C-only structures 2010-12-10 17:15:39 +00:00
clutter-flow-layout.c Move more classes to install_properties() 2010-10-18 11:26:45 +01:00
clutter-flow-layout.h
clutter-frame-source.c Start using the monotonic API in GLib ≥ 2.27 2010-11-17 16:19:10 +00:00
clutter-frame-source.h Deprecate ClutterFrameSource 2010-11-06 20:11:16 +00:00
clutter-group.c paint volumes: another pass at the design 2010-09-29 15:12:57 +01:00
clutter-group.h
clutter-id-pool.c
clutter-id-pool.h
clutter-input-device.c Fixed a crash when destroying the actor of a LEAVE event 2010-12-30 12:27:26 +00:00
clutter-input-device.h evdev: First stab at an evdev backend 2010-11-30 14:40:37 +00:00
clutter-interval.c interval: Remember to chain up to parent in finalize() 2010-10-25 00:31:36 +01:00
clutter-interval.h
clutter-keysyms-compat.h keysyms: Update the list 2010-12-02 09:53:00 +00:00
clutter-keysyms-table.h
clutter-keysyms-update.pl keysyms: Update the macros to CLUTTER_KEY_* 2010-09-10 17:54:52 +01:00
clutter-keysyms.h keysyms: Update the list 2010-12-02 09:53:00 +00:00
clutter-layout-manager.c Remove unnecessary GLib version checks 2010-10-18 11:26:45 +01:00
clutter-layout-manager.h Reduce the amount of g-ir-scanner warnings 2010-12-09 12:36:50 +00:00
clutter-layout-meta.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-layout-meta.h
clutter-list-model.c ClutterListModel: Implement get_n_rows for improved performance 2011-01-10 21:22:22 +00:00
clutter-list-model.h
clutter-main.c docs: Documentation fixes 2010-12-09 13:59:08 +00:00
clutter-main.h Deprecate ClutterFrameSource 2010-11-06 20:11:16 +00:00
clutter-marshal.list path-constraint: Add a ::node-reached signal 2010-11-07 21:35:40 +00:00
clutter-master-clock.c Start using the monotonic API in GLib ≥ 2.27 2010-11-17 16:19:10 +00:00
clutter-master-clock.h
clutter-media.c Use G_DEFINE_INTERFACE 2010-10-18 11:26:44 +01:00
clutter-media.h
clutter-model-private.h
clutter-model.c ClutterListModel: Implement get_n_rows for improved performance 2011-01-10 21:22:22 +00:00
clutter-model.h
clutter-offscreen-effect.c ClutterOffscreenEffect: Don't throw away the material for a new actor 2010-11-29 10:55:52 +00:00
clutter-offscreen-effect.h Reduce the amount of g-ir-scanner warnings 2010-12-09 12:36:50 +00:00
clutter-page-turn-effect.c Clean up clutter-private.h/6 2010-10-21 12:22:17 +01:00
clutter-page-turn-effect.h effect: Add PageTurnEffect 2010-06-10 18:40:29 +01:00
clutter-paint-volume-private.h Add copyright notices 2010-10-21 13:13:00 +01:00
clutter-paint-volume.c use cogl_matrix_transform_points in clutter 2010-11-23 12:50:29 +00:00
clutter-path-constraint.c path-constraint: Add a ::node-reached signal 2010-11-07 21:35:40 +00:00
clutter-path-constraint.h docs: Add PathConstraint 2010-10-25 16:09:40 +01:00
clutter-path.c Clean up clutter-private.h/6 2010-10-21 12:22:17 +01:00
clutter-path.h
clutter-private.h Deprecate ClutterFrameSource 2010-11-06 20:11:16 +00:00
clutter-profile.c profile: Update to uprof-0.3 dep for --enable-profile 2010-09-14 12:43:16 +01:00
clutter-profile.h profile: Update to uprof-0.3 dep for --enable-profile 2010-09-14 12:43:16 +01:00
clutter-rectangle.c Clean up clutter-private.h/6 2010-10-21 12:22:17 +01:00
clutter-rectangle.h
clutter-score.c clutter-score: Initialize ClutterScoreEntry::complete_id 2010-12-07 21:44:32 +00:00
clutter-score.h
clutter-script-parser.c script-parser: Also honor properties of type GType 2011-01-11 12:37:53 +00:00
clutter-script-private.h script: Fix the memory management 2010-10-19 01:42:19 +01:00
clutter-script.c docs: Fix some wrong function/signal/property names 2010-11-18 15:21:16 +00:00
clutter-script.h
clutter-scriptable.c Use G_DEFINE_INTERFACE 2010-10-18 11:26:44 +01:00
clutter-scriptable.h Reduce the amount of g-ir-scanner warnings 2010-12-09 12:36:50 +00:00
clutter-settings.c Use the right string in the font settings debug blurb 2010-11-14 23:06:53 +00:00
clutter-settings.h settings: Migrate Backend settings to a new object 2010-06-21 15:55:36 +01:00
clutter-shader-effect.c Make clutter_shader_effect_set_uniform_value accept G_TYPE_DOUBLE 2010-12-09 11:57:06 +00:00
clutter-shader-effect.h docs: Effects fixes for the API reference 2010-06-03 14:34:41 +01:00
clutter-shader-types.c shader-types: Check the size of the values 2010-06-16 17:14:57 +01:00
clutter-shader-types.h
clutter-shader.c shader: Don't notify properties when finalizing shaders 2011-01-11 11:20:16 +00:00
clutter-shader.h build: Re-arrange headers 2010-11-18 18:23:49 +00:00
clutter-snap-constraint.c constraints: Remove signal handlers on dispose 2010-12-18 13:24:54 +00:00
clutter-snap-constraint.h Add SnapConstraint 2010-11-15 16:00:49 +00:00
clutter-stage-manager-private.h Add copyright notices 2010-10-21 13:13:00 +01:00
clutter-stage-manager.c Clean up clutter-private.h/2 2010-10-21 11:30:19 +01:00
clutter-stage-manager.h
clutter-stage-private.h Discard the current pick buffer... 2010-11-08 16:45:15 +00:00
clutter-stage-window.c stage-window: Add set_accept_focus() vfunc 2010-12-30 12:44:13 +00:00
clutter-stage-window.h stage-window: Add set_accept_focus() vfunc 2010-12-30 12:44:13 +00:00
clutter-stage.c stage: Add :accept-focus property and accessors 2010-12-30 12:44:13 +00:00
clutter-stage.h stage: Add :accept-focus property and accessors 2010-12-30 12:44:13 +00:00
clutter-state.c state: Correct the documentation 2010-10-25 17:21:20 +01:00
clutter-state.h Use G_DEFINE_BOXED_TYPE for all boxed types 2010-10-18 11:26:45 +01:00
clutter-table-layout.c Plug a memory leak in clutter-table-layout 2010-10-08 12:11:39 +01:00
clutter-table-layout.h table-layout: Invert row/column in arguments 2010-09-23 15:17:58 +01:00
clutter-text.c text: Only paint cursor if we have key focus 2010-12-21 10:50:24 +00:00
clutter-text.h
clutter-texture.c build: Re-arrange headers 2010-11-18 18:23:49 +00:00
clutter-texture.h build: Re-arrange headers 2010-11-18 18:23:49 +00:00
clutter-timeline.c timeline: Rename the reverse property to auto-reverse 2010-12-17 12:07:52 +00:00
clutter-timeline.h timeline: Rename the reverse property to auto-reverse 2010-12-17 12:07:52 +00:00
clutter-timeout-interval.c Start using the monotonic API in GLib ≥ 2.27 2010-11-17 16:19:10 +00:00
clutter-timeout-interval.h Move away from GTimeVal 2010-11-17 16:19:10 +00:00
clutter-timeout-pool.c Start using the monotonic API in GLib ≥ 2.27 2010-11-17 16:19:10 +00:00
clutter-timeout-pool.h timeout-pool: Deprecate the structure too 2010-11-08 15:52:17 +00:00
clutter-types.h build: Re-arrange headers 2010-11-18 18:23:49 +00:00
clutter-units.c docs: Documentation fixes 2010-12-09 13:59:08 +00:00
clutter-units.h introspection: Skip some C-only structures 2010-12-10 17:15:39 +00:00
clutter-util.c paint_volume: Splits out clutter_paint_volume code 2010-09-29 15:13:00 +01:00
clutter-util.h
clutter-version.h.in
clutter.h Add SnapConstraint 2010-11-15 16:00:49 +00:00
clutter.pc.in build: Start moving to a non-recursive layout 2010-09-29 14:40:15 +01:00
Makefile.am introspection: Add cairo-1.0 to the dependencies 2010-12-10 17:15:23 +00:00