mutter/clutter
Emmanuele Bassi 7e56a98413 texture: Use a base material for all instances
Creating new materials for every Texture instance results in a lot of
ARBfp programs being generated/compiled. Since most textures will just
be similar we should create a template material for all of them, and
then copy it in every instance. Cogl will try to optimize the generation
of the program and, hopefully, will reuse the same program most of the
time.

With this change, a simple test shows that loading 48 textures will
result in just two programs being compiled - with and without batching
enabled.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2295
2010-09-06 18:09:19 +01:00
..
cally build: Distcheck fixes after the Cally merge 2010-07-07 16:30:31 +01:00
cogl material: Check before unreferencing a texture 2010-09-06 18:09:19 +01:00
egl cex100: Remove C99-ism 2010-09-03 11:14:05 +01:00
fruity Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
glx Hide internal glx and egl(x) backend symbols. 2010-08-23 11:49:07 +01:00
json build: Use Makefile.introspection 2010-09-03 11:38:22 +01:00
osx osx: Fixed stage resize policy 2010-08-04 15:13:12 +01:00
win32 win32: Fix the check for the 'IN_DESTRUCTION' flag 2010-08-24 20:00:04 +01:00
x11 docs: Add @Title to the X11TexturePixmap gtk-doc section 2010-08-28 21:17:23 +01:00
clutter-action.c docs: Description fixes for Action and Constraint 2010-05-26 14:09:24 +01:00
clutter-action.h Add named modifiers for Action and Constraint 2010-05-20 11:19:51 +01:00
clutter-actor-meta-private.h actor: Add ActorMeta, a base class for actor modifiers 2010-05-17 16:42:10 +01:00
clutter-actor-meta.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-actor-meta.h actor: Add ActorMeta, a base class for actor modifiers 2010-05-17 16:42:10 +01:00
clutter-actor.c introspection: Add annotations 2010-09-03 12:14:50 +01:00
clutter-actor.h docs: Fixes to avoid gtk-doc warnings 2010-08-17 14:54:20 +01:00
clutter-align-constraint.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-align-constraint.h docs: Various fixes 2010-06-30 11:32:15 +01:00
clutter-alpha.c docs: Fixes for gtk-doc 2010-09-03 16:12:24 +01:00
clutter-alpha.h
clutter-animatable.c animatable: Allow passing a NULL animation 2010-07-31 10:56:09 +01:00
clutter-animatable.h animatable: Allow passing a NULL animation 2010-07-31 10:56:09 +01:00
clutter-animation.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-animation.h animation: Use 'guint' for set_duration() parameter 2010-05-05 11:32:39 +01:00
clutter-animator.c introspection: Add annotations 2010-09-03 12:14:50 +01:00
clutter-animator.h animator,state: Mark variadic functions that ends with NULL 2010-06-07 14:22:26 +01:00
clutter-backend.c Clean up the private flags for ClutterActor 2010-07-21 16:10:46 +01:00
clutter-backend.h events: Add platform-data to allocated Events 2010-07-13 08:27:48 +01:00
clutter-behaviour-depth.c Mark property strings for translation 2010-07-15 14:07:07 +01:00
clutter-behaviour-depth.h
clutter-behaviour-ellipse.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-behaviour-ellipse.h
clutter-behaviour-opacity.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-behaviour-opacity.h docs: Fix gtk-doc warnings 2010-04-22 16:39:18 +01:00
clutter-behaviour-path.c docs: Fixes to avoid gtk-doc warnings 2010-08-17 14:54:20 +01:00
clutter-behaviour-path.h
clutter-behaviour-rotate.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-behaviour-rotate.h
clutter-behaviour-scale.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-behaviour-scale.h
clutter-behaviour.c introspection: Add annotations 2010-09-03 12:14:50 +01:00
clutter-behaviour.h
clutter-bezier.c analysis: Use static functions when possible 2010-06-01 12:08:18 +01:00
clutter-bezier.h
clutter-bin-layout.c Merge branch 'wip/table-layout' 2010-08-11 11:32:44 +01:00
clutter-bin-layout.h
clutter-bind-constraint.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-bind-constraint.h docs: Various fixes 2010-06-30 11:32:15 +01:00
clutter-binding-pool.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-binding-pool.h
clutter-blur-effect.c Remove last uses of cogl_program_uniform* 2010-08-12 17:08:26 +01:00
clutter-blur-effect.h effect: Add BlurEffect 2010-06-03 14:10:55 +01:00
clutter-box-layout.c box-layout: Use the correct name for the arguments 2010-08-20 17:03:06 +01:00
clutter-box-layout.h Add "homogeneous" mode to ClutterBoxLayout. 2010-03-25 09:41:54 +00:00
clutter-box.c introspection: Add annotations 2010-09-03 12:14:50 +01:00
clutter-box.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-cairo-texture.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-cairo-texture.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-child-meta.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-child-meta.h
clutter-click-action.c click-action: Add get_button() 2010-08-26 16:39:39 +01:00
clutter-click-action.h click-action: Add get_button() 2010-08-26 16:39:39 +01:00
clutter-clone.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-clone.h
clutter-color.c clutter-color: Don't directly read the contents of GValue structs 2010-05-05 18:49:09 +01:00
clutter-color.h
clutter-colorize-effect.c docs: Fixes to avoid gtk-doc warnings 2010-08-17 14:54:20 +01:00
clutter-colorize-effect.h effect: Add ColorizeEffect 2010-06-03 14:10:55 +01:00
clutter-constraint.c docs: Description fixes for Action and Constraint 2010-05-26 14:09:24 +01:00
clutter-constraint.h Add named modifiers for Action and Constraint 2010-05-20 11:19:51 +01:00
clutter-container.c introspection: Add annotations 2010-09-03 12:14:50 +01:00
clutter-container.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-debug.h Add some debugging notes for picking 2010-08-23 11:55:13 +01:00
clutter-deform-effect.c Replace cogl_color_set_from_* with cogl_color_init_from_* 2010-09-03 16:58:47 +01:00
clutter-deform-effect.h effect: Add DeformEffect 2010-06-10 18:40:29 +01:00
clutter-deprecated.h
clutter-desaturate-effect.c Remove last uses of cogl_program_uniform* 2010-08-12 17:08:26 +01:00
clutter-desaturate-effect.h effect: Add DesaturateEffect 2010-06-03 14:10:55 +01:00
clutter-device-manager.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-device-manager.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-drag-action.c docs: Fixes to avoid gtk-doc warnings 2010-08-17 14:54:20 +01:00
clutter-drag-action.h drag-action: Remove the press event button 2010-06-12 17:45:54 +01:00
clutter-effect.c docs: Fix Effect subclassing section 2010-06-10 17:34:48 +01:00
clutter-effect.h docs: Effects fixes for the API reference 2010-06-03 14:34:41 +01:00
clutter-enum-types.c.in
clutter-enum-types.h.in
clutter-event.c introspection: Add annotations 2010-09-03 12:14:50 +01:00
clutter-event.h Miscellaneous documentation fixes 2010-05-19 16:10:05 +01:00
clutter-feature.c Emit a critical warning if features are not initialized 2010-03-18 14:15:33 +00: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 Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-fixed.h
clutter-flow-layout.c Mark property strings for translation 2010-07-15 14:07:07 +01:00
clutter-flow-layout.h
clutter-frame-source.c g_source_set_name on custom sources (if available) 2010-06-07 12:05:24 +01:00
clutter-frame-source.h
clutter-group.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-group.h
clutter-id-pool.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-id-pool.h
clutter-input-device.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-input-device.h
clutter-interval.c docs: Fixes for gtk-doc 2010-09-03 16:12:24 +01:00
clutter-interval.h interval: Add a pointer variant to compute_value() 2010-05-24 15:06:14 +01:00
clutter-json.h.in
clutter-keysyms-table.h
clutter-keysyms.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-layout-manager.c introspection: Add annotations 2010-09-03 12:14:50 +01:00
clutter-layout-manager.h
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 Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-list-model.h
clutter-main.c Add some more introspection annotations 2010-09-06 16:11:46 +01:00
clutter-main.h Initialize accessibility support on clutter_init 2010-07-05 16:45:43 +01:00
clutter-marshal.list drag-action: Remove the press event button 2010-06-12 17:45:54 +01:00
clutter-master-clock.c g_source_set_name on custom sources (if available) 2010-06-07 12:05:24 +01:00
clutter-master-clock.h
clutter-media.c Mark property strings for translation 2010-07-15 14:07:07 +01:00
clutter-media.h Miscellaneous documentation fixes 2010-05-19 16:10:05 +01:00
clutter-model-private.h
clutter-model.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-model.h
clutter-offscreen-effect.c Add some more introspection annotations 2010-09-06 16:11:46 +01:00
clutter-offscreen-effect.h offscreen-effect: Rename create_target to create_buffer 2010-09-01 18:05:53 +01:00
clutter-page-turn-effect.c Replace cogl_color_set_from_* with cogl_color_init_from_* 2010-09-03 16:58:47 +01:00
clutter-page-turn-effect.h effect: Add PageTurnEffect 2010-06-10 18:40:29 +01:00
clutter-path.c introspection: Add annotations 2010-09-03 12:14:50 +01:00
clutter-path.h
clutter-private.h Cache a full pick render if we have a static stage 2010-08-18 18:30:30 +01:00
clutter-profile.c profile: Fix the report generation 2010-04-22 17:52:13 +01:00
clutter-profile.h
clutter-rectangle.c Mark property strings for translation 2010-07-15 14:07:07 +01:00
clutter-rectangle.h
clutter-score.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-score.h
clutter-script-parser.c script-parser: Apply child and layout properties to the right actor 2010-08-25 16:18:25 +01:00
clutter-script-private.h script: Let ClutterActor parse behaviours 2010-07-09 14:59:32 +01:00
clutter-script.c introspection: Add annotations 2010-09-03 12:14:50 +01:00
clutter-script.h
clutter-scriptable.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-scriptable.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-settings.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-settings.h settings: Migrate Backend settings to a new object 2010-06-21 15:55:36 +01:00
clutter-shader-effect.c Remove last uses of cogl_program_uniform* 2010-08-12 17:08:26 +01: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 introspection: Add annotations 2010-09-03 12:14:50 +01:00
clutter-shader.h
clutter-stage-manager.c Hide the marshallers 2010-06-11 16:09:36 +01:00
clutter-stage-manager.h Miscellaneous documentation fixes 2010-05-19 16:10:05 +01:00
clutter-stage-window.c stage-window: Add argument guards 2010-07-20 14:39:01 +01:00
clutter-stage-window.h Adds initial clipped redraw support to Clutter 2010-03-02 17:19:11 +00:00
clutter-stage.c Replace cogl_color_set_from_* with cogl_color_init_from_* 2010-09-03 16:58:47 +01:00
clutter-stage.h stage: Add the NO_CLEAR_ON_PAINT hint 2010-07-13 14:57:48 +01:00
clutter-state.c introspection: Add annotations 2010-09-03 12:14:50 +01:00
clutter-state.h state: Return a boolean when getting the key value 2010-08-08 19:17:14 +01:00
clutter-table-layout.c Add ClutterTableLayout, a layout showing children in rows and columns 2010-08-10 23:20:06 +01:00
clutter-table-layout.h Add ClutterTableLayout, a layout showing children in rows and columns 2010-08-10 23:20:06 +01:00
clutter-text.c Replace cogl_color_set_from_* with cogl_color_init_from_* 2010-09-03 16:58:47 +01:00
clutter-text.h
clutter-texture.c texture: Use a base material for all instances 2010-09-06 18:09:19 +01:00
clutter-texture.h [texture] Support picking textures according to their alpha channel 2010-05-28 16:07:17 +01:00
clutter-timeline.c introspection: Add annotations 2010-09-03 12:14:50 +01:00
clutter-timeline.h
clutter-timeout-interval.c
clutter-timeout-interval.h
clutter-timeout-pool.c g_source_set_name on custom sources (if available) 2010-06-07 12:05:24 +01:00
clutter-timeout-pool.h
clutter-types.h shader-effect: Allow creating vertex shaders 2010-06-11 14:47:48 +01:00
clutter-units.c docs: Avoid warnings from the g-ir-scanner 2010-06-30 15:51:12 +01:00
clutter-units.h
clutter-util.c Add P_() macro for translating property strings 2010-07-15 12:09:01 +01:00
clutter-util.h
clutter-version.h.in docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter.h Add ClutterTableLayout, a layout showing children in rows and columns 2010-08-10 23:20:06 +01:00
Makefile.am build: Use Makefile.introspection 2010-09-03 11:38:22 +01:00