diff options
author | Molly Lloyd <molly@mapbox.com> | 2018-01-18 14:56:42 -0800 |
---|---|---|
committer | Molly Lloyd <molly@mapbox.com> | 2018-01-18 18:10:10 -0800 |
commit | 40dbf94b03c1446f544865e32f79ccb08de5d444 (patch) | |
tree | a3785eaf17631e2c0bdf53e59bdc86919ec1708a | |
parent | 2ea3b60e24da5447e616b294d9200ea669eed2b5 (diff) | |
download | qtlocation-mapboxgl-40dbf94b03c1446f544865e32f79ccb08de5d444.tar.gz |
guard against redoing backfill work for the borderTile
-rw-r--r-- | src/mbgl/renderer/sources/render_raster_dem_source.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mbgl/renderer/sources/render_raster_dem_source.cpp b/src/mbgl/renderer/sources/render_raster_dem_source.cpp index b8bb2ce1cd..a91815563f 100644 --- a/src/mbgl/renderer/sources/render_raster_dem_source.cpp +++ b/src/mbgl/renderer/sources/render_raster_dem_source.cpp @@ -114,7 +114,13 @@ void RenderRasterDEMSource::onTileChanged(Tile& tile){ if (renderableNeighbor != nullptr && renderableNeighbor->isRenderable()) { RasterDEMTile& borderTile = static_cast<RasterDEMTile&>(*renderableNeighbor); demtile.backfillBorder(borderTile, mask); - borderTile.backfillBorder(demtile, opposites[mask]); + + // if the border tile has not been backfilled by a previous instance of the main + // tile, backfill its corresponding neighbor as well. + const DEMTileNeighbors& borderMask = opposites[mask]; + if ((borderTile.neighboringTiles & borderMask) != borderMask){ + borderTile.backfillBorder(demtile, borderMask); + } } } } |