summaryrefslogtreecommitdiff
path: root/src/mbgl/algorithm/update_renderables.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/algorithm/update_renderables.hpp')
-rw-r--r--src/mbgl/algorithm/update_renderables.hpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/mbgl/algorithm/update_renderables.hpp b/src/mbgl/algorithm/update_renderables.hpp
index 316ada8269..91eb058638 100644
--- a/src/mbgl/algorithm/update_renderables.hpp
+++ b/src/mbgl/algorithm/update_renderables.hpp
@@ -21,19 +21,18 @@ void updateRenderables(GetTileFn getTile,
RenderTileFn renderTile,
const IdealTileIDs& idealTileIDs,
const Range<uint8_t>& zoomRange,
- const uint8_t dataTileZoom,
const optional<uint8_t>& maxParentOverscaleFactor = nullopt) {
std::unordered_set<OverscaledTileID> checked;
bool covered;
int32_t overscaledZ;
// for (all in the set of ideal tiles of the source) {
- for (const auto& idealRenderTileID : idealTileIDs) {
- assert(idealRenderTileID.canonical.z >= zoomRange.min);
- assert(idealRenderTileID.canonical.z <= zoomRange.max);
- assert(dataTileZoom >= idealRenderTileID.canonical.z);
+ for (const auto& idealDataTileID : idealTileIDs) {
+ assert(idealDataTileID.canonical.z >= zoomRange.min);
+ assert(idealDataTileID.canonical.z <= zoomRange.max);
+ assert(idealDataTileID.overscaledZ >= idealDataTileID.canonical.z);
- const OverscaledTileID idealDataTileID(dataTileZoom, idealRenderTileID.wrap, idealRenderTileID.canonical);
+ const UnwrappedTileID idealRenderTileID = idealDataTileID.toUnwrapped();
auto tile = getTile(idealDataTileID);
if (!tile) {
tile = createTile(idealDataTileID);
@@ -56,7 +55,7 @@ void updateRenderables(GetTileFn getTile,
// The tile isn't loaded yet, but retain it anyway because it's an ideal tile.
retainTile(*tile, TileNecessity::Required);
covered = true;
- overscaledZ = dataTileZoom + 1;
+ overscaledZ = idealDataTileID.overscaledZ + 1;
if (overscaledZ > zoomRange.max) {
// We're looking for an overzoomed child tile.
const auto childDataTileID = idealDataTileID.scaledTo(overscaledZ);
@@ -85,11 +84,12 @@ void updateRenderables(GetTileFn getTile,
if (!covered) {
// We couldn't find child tiles that entirely cover the ideal tile.
- for (overscaledZ = dataTileZoom - 1; overscaledZ >= zoomRange.min; --overscaledZ) {
+ for (overscaledZ = idealDataTileID.overscaledZ - 1; overscaledZ >= zoomRange.min; --overscaledZ) {
const auto parentDataTileID = idealDataTileID.scaledTo(overscaledZ);
// Request / render parent tile only if it's overscale factor is less than defined maximum.
- if (maxParentOverscaleFactor && (dataTileZoom - overscaledZ) > *maxParentOverscaleFactor) {
+ if (maxParentOverscaleFactor &&
+ (idealDataTileID.overscaledZ - overscaledZ) > *maxParentOverscaleFactor) {
break;
}