summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Roberts <neil@linux.intel.com>2011-04-06 15:24:33 +0100
committerNeil Roberts <neil@linux.intel.com>2011-04-06 17:36:00 +0100
commit16a6c77089f4e0db70a730d8615fd6b2c063b9e4 (patch)
tree6390ef48cf11c0c468c84b8b1f4442ebc9b53522
parent472e8e8f4e325f1839b42b10dd38a4828e559909 (diff)
downloadcogl-16a6c77089f4e0db70a730d8615fd6b2c063b9e4.tar.gz
cogl-pango-glyph-cache: Fix the flags passed to cogl_atlas_new
In 047227fb cogl_atlas_new was changed so that it can take a flags parameter to specify whether to clear the new atlases and whether to copy images to the new atlas after reorganisation. This was done so that the atlas code could be shared with the glyph cache. At some point during the development of this patch the flag was just a single boolean instead and this is accidentally how it is used from the glyph cache. The glyph cache therefore passes 'TRUE' as the set of flags which means it will only get the 'clear' flag and not the 'disable-migration' flag. When the glyph cache gets full it will therefore try to copy the texture to the new atlas as well as redrawing them with cairo. This causes problems because the glyph cache needs to work in situations where there is no FBO support.
-rw-r--r--pango/cogl-pango-glyph-cache.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/pango/cogl-pango-glyph-cache.c b/pango/cogl-pango-glyph-cache.c
index 51f64a6a..e3503fb8 100644
--- a/pango/cogl-pango-glyph-cache.c
+++ b/pango/cogl-pango-glyph-cache.c
@@ -225,7 +225,8 @@ cogl_pango_glyph_cache_lookup (CoglPangoGlyphCache *cache,
if (atlas == NULL)
{
atlas = _cogl_atlas_new (COGL_PIXEL_FORMAT_A_8,
- TRUE,
+ COGL_ATLAS_CLEAR_TEXTURE |
+ COGL_ATLAS_DISABLE_MIGRATION,
cogl_pango_glyph_cache_update_position_cb);
COGL_NOTE (ATLAS, "Created new atlas for glyphs: %p", atlas);
/* If we still can't reserve space then something has gone