diff options
Diffstat (limited to 'src/location/maps/qgeotiledmapscene.cpp')
-rw-r--r-- | src/location/maps/qgeotiledmapscene.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/location/maps/qgeotiledmapscene.cpp b/src/location/maps/qgeotiledmapscene.cpp index c7e5bed0..3644cab6 100644 --- a/src/location/maps/qgeotiledmapscene.cpp +++ b/src/location/maps/qgeotiledmapscene.cpp @@ -677,6 +677,8 @@ void QGeoTiledMapRootNode::updateTiles(QGeoTiledMapTileContainerNode *root, } else { if (isTextureLinear != d->m_linearScaling) { node->setFiltering(d->m_linearScaling ? QSGTexture::Linear : QSGTexture::Nearest); + if (node->texture()->textureSize().width() > d->m_tileSize) + node->setMipmapFiltering(QSGTexture::Linear); dirtyBits |= QSGNode::DirtyMaterial; } if (dirtyBits != 0) @@ -698,6 +700,8 @@ void QGeoTiledMapRootNode::updateTiles(QGeoTiledMapTileContainerNode *root, if (d->buildGeometry(s, tileNode->geometry()->vertexDataAsTexturedPoint2D()) && qgeotiledmapscene_isTileInViewport(tileNode->geometry()->vertexDataAsTexturedPoint2D(), root->matrix())) { tileNode->setFiltering(d->m_linearScaling ? QSGTexture::Linear : QSGTexture::Nearest); + if (tileNode->texture()->textureSize().width() > d->m_tileSize) + tileNode->setMipmapFiltering(QSGTexture::Linear); root->addChild(s, tileNode); } else { delete tileNode; |