When the layer size changed, reused tiles that then fell out of the layer area
would be incorrectly rendered. Fix this by deriving the rendered content area
from set display-ports and correctly invalidating when harvesting tiles, and
clipping when drawing them.
--HG--
extra : rebase_source : 6427be89b9cfb1e54feb0582fb64fa97d7d42bde
It is possible for the content that layers represent to change size, causing
tiles to be reused where they shouldn't. Make sure that tiles that are outside
of content bounds are not drawn, and that they get evicted when harvesting
tiles.
Rather than discarding uploaded tiles once they fall outside of the valid
region, shuffle them off into a separate tile-store with all the metadata they
need to render them, and render them in the areas that our current valid
region doesn't cover in TiledThebesLayerOGL::RenderLayer.
Rather than discarding uploaded tiles once they fall outside of the valid
region, shuffle them off into a separate tile-store with all the metadata they
need to render them, and render them in the areas that our current valid
region doesn't cover in TiledThebesLayerOGL::RenderLayer.