mutter/clutter/cogl/pango
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
..
cogl-pango-display-list.c path 2.0: update path API for experimental 2.0 API 2010-11-11 13:17:26 +00:00
cogl-pango-display-list.h
cogl-pango-fontmap.c
cogl-pango-glyph-cache.c Allow multiple CoglAtlases for textures 2010-12-13 18:59:41 +00:00
cogl-pango-glyph-cache.h
cogl-pango-private.h
cogl-pango-render.c
cogl-pango.h
Makefile.am