Commit 9fa211b6 authored by Ell's avatar Ell

buffer: damage tile pyramid when voiding uncached base tiles

In GeglTileHandlerCache, when trying to void a base tile that's not
present in the cache, go ahead and void the cooresponding area of
the tile pyramid anyway, since it might include cached mipmapped
tiles.  In particular, this may happen if the corresponding area of
the buffer is empty, but mipmapped tiles have been generated for it
(which doesn't cause corresponding empty base tiles to be created),
or if the corresponding base tiles have been swapped out.
parent 637f458c
...@@ -800,6 +800,11 @@ gegl_tile_handler_cache_void (GeglTileHandlerCache *cache, ...@@ -800,6 +800,11 @@ gegl_tile_handler_cache_void (GeglTileHandlerCache *cache,
if (gegl_tile_damage (item->tile, damage)) if (gegl_tile_damage (item->tile, damage))
gegl_tile_handler_cache_remove_item (cache, item); gegl_tile_handler_cache_remove_item (cache, item);
} }
else if (z == 0 && damage)
{
gegl_tile_handler_damage_tile (GEGL_TILE_HANDLER (cache),
x, y, z, damage);
}
} }
void void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment