1
0
Fork 0
mutter-performance-source/clutter
Neil Roberts 7b985f034f Allow multiple CoglAtlases for textures
Previously Cogl would only ever use one atlas for textures and if it
reached the maximum texture size then all other new textures would get
their own GL texture. This patch makes it so that we create as many
atlases as needed. This should avoid breaking up some batches and it
will be particularly good if we switch to always using multi-texturing
with a default shader that selects between multiple atlases using a
vertex attribute.

Whenever a new atlas is created it is stored in a GSList on the
context. A weak weference is taken on the atlas using
cogl_object_set_user_data so that it can be removed from the list when
the atlas is destroyed. The atlas textures themselves take a reference
to the atlas and this is the only thing that keeps the atlas
alive. This means that once the atlas becomes empty it will
automatically be destroyed.

All of the COGL_NOTEs pertaining to atlases are now prefixed with the
atlas pointer to make it clearer which atlas is changing.
2010-12-13 18:59:41 +00:00
..
cally docs: Documentation fixes 2010-12-09 13:59:08 +00:00
cogl Allow multiple CoglAtlases for textures 2010-12-13 18:59:41 +00:00
egl Use G_STRFUNC correctly 2010-12-09 15:42:19 +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 Clean up clutter-private.h/4 2010-10-21 12:22:17 +01:00
wayland Rename the EGLDisplay accessors 2010-12-09 15:34:22 +00:00
win32 win32: Fix a couple of build warnings 2010-11-01 15:21:04 +00:00
x11 Reduce the amount of g-ir-scanner warnings 2010-12-09 12:36:50 +00: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-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 Fixed "the the" repetitions in some doc strings 2010-11-25 18:18:51 +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 Move more classes to install_properties() 2010-10-18 11:26:45 +01: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 analysis: Use static functions when possible 2010-06-01 12:08:18 +01:00
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 Clean up clutter-private.h/6 2010-10-21 12:22:17 +01: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 effect: Add BlurEffect 2010-06-03 14:10:55 +01:00
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 Reduce the amount of g-ir-scanner warnings 2010-12-09 12:36:50 +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 Move more classes to install_properties() 2010-10-18 11:26:45 +01: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 effect: Add DesaturateEffect 2010-06-03 14:10:55 +01:00
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 input-device: Downgrade over-zealous warning to note 2010-12-07 22:32:56 +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 interval: Add a pointer variant to compute_value() 2010-05-24 15:06:14 +01:00
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 Fix clutter_list_model_get_iter_at_row() when filtered 2010-12-09 13:38:35 +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 Miscellaneous documentation fixes 2010-05-19 16:10:05 +01:00
clutter-model-private.h
clutter-model.c Further annotation fixes 2010-09-08 16:41:47 +01: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: Fix the memory management 2010-10-19 01:42:19 +01: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 introspection: Add annotations 2010-09-03 12:14:50 +01:00
clutter-shader.h build: Re-arrange headers 2010-11-18 18:23:49 +00:00
clutter-snap-constraint.c Add SnapConstraint 2010-11-15 16:00:49 +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 Miscellaneous documentation fixes 2010-05-19 16:10:05 +01:00
clutter-stage-private.h Discard the current pick buffer... 2010-11-08 16:45:15 +00:00
clutter-stage-window.c stage-window: tweak has_redraw_clips semantics 2010-11-24 15:09:47 +00:00
clutter-stage-window.h introspection: Skip some C-only structures 2010-12-10 17:15:39 +00:00
clutter-stage.c Fixed "the the" repetitions in some doc strings 2010-11-25 18:18:51 +00:00
clutter-stage.h docs: Fix some wrong function/signal/property names 2010-11-18 15:21:16 +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: Optimise get_preferred_height for single-line-mode 2010-11-29 11:51:33 +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: Add :reverse property 2010-11-18 15:18:19 +00:00
clutter-timeline.h timeline: Add :reverse property 2010-11-18 15:18:19 +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