summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-05-16 14:37:40 +0300
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-05-19 18:15:33 +0300
commitf2ad89c463c6110d89caacd2ae62e85efb78af17 (patch)
tree831adee6ca63ce6a9678a8ee42c44fc9bc5ad126
parent44fd6dcf7c0ef477a8108f878834cadf01a625f2 (diff)
downloadqtlocation-mapboxgl-f2ad89c463c6110d89caacd2ae62e85efb78af17.tar.gz
[core] Remove RenderLayerSymbolInterface
-rw-r--r--include/mbgl/style/layer.hpp6
-rw-r--r--src/core-files.json1
-rw-r--r--src/mbgl/geometry/feature_index.cpp3
-rw-r--r--src/mbgl/renderer/layers/render_layer_symbol_interface.hpp22
-rw-r--r--src/mbgl/renderer/layers/render_symbol_layer.cpp35
-rw-r--r--src/mbgl/renderer/layers/render_symbol_layer.hpp9
-rw-r--r--src/mbgl/renderer/render_layer.cpp9
-rw-r--r--src/mbgl/renderer/render_layer.hpp5
-rw-r--r--src/mbgl/renderer/renderer_impl.cpp21
-rw-r--r--src/mbgl/style/layers/background_layer.cpp3
-rw-r--r--src/mbgl/style/layers/circle_layer.cpp3
-rw-r--r--src/mbgl/style/layers/custom_layer.cpp3
-rw-r--r--src/mbgl/style/layers/fill_extrusion_layer.cpp3
-rw-r--r--src/mbgl/style/layers/fill_layer.cpp3
-rw-r--r--src/mbgl/style/layers/heatmap_layer.cpp3
-rw-r--r--src/mbgl/style/layers/hillshade_layer.cpp3
-rw-r--r--src/mbgl/style/layers/layer.cpp.ejs4
-rw-r--r--src/mbgl/style/layers/line_layer.cpp3
-rw-r--r--src/mbgl/style/layers/raster_layer.cpp3
-rw-r--r--src/mbgl/style/layers/symbol_layer.cpp3
-rw-r--r--src/mbgl/text/cross_tile_symbol_index.cpp1
-rw-r--r--src/mbgl/text/placement.cpp1
-rw-r--r--src/mbgl/text/placement.hpp1
23 files changed, 59 insertions, 89 deletions
diff --git a/include/mbgl/style/layer.hpp b/include/mbgl/style/layer.hpp
index 97df299899..a66ff37b22 100644
--- a/include/mbgl/style/layer.hpp
+++ b/include/mbgl/style/layer.hpp
@@ -49,6 +49,12 @@ struct LayerTypeInfo {
* requires rendering on fading tiles. Contains \c FadingTiles::NotRequired otherwise.
*/
const enum class FadingTiles { Required, NotRequired } fadingTiles;
+
+ /**
+ * @brief contains \c CrossTileIndex::Required if the corresponding layer type
+ * requires cross-tile indexing and placement. Contains \c CrossTileIndex::NotRequired otherwise.
+ */
+ const enum class CrossTileIndex { Required, NotRequired } crossTileIndex;
};
/**
diff --git a/src/core-files.json b/src/core-files.json
index a52797acd7..e6c2a92822 100644
--- a/src/core-files.json
+++ b/src/core-files.json
@@ -632,7 +632,6 @@
"mbgl/renderer/layers/render_fill_layer.hpp": "src/mbgl/renderer/layers/render_fill_layer.hpp",
"mbgl/renderer/layers/render_heatmap_layer.hpp": "src/mbgl/renderer/layers/render_heatmap_layer.hpp",
"mbgl/renderer/layers/render_hillshade_layer.hpp": "src/mbgl/renderer/layers/render_hillshade_layer.hpp",
- "mbgl/renderer/layers/render_layer_symbol_interface.hpp": "src/mbgl/renderer/layers/render_layer_symbol_interface.hpp",
"mbgl/renderer/layers/render_line_layer.hpp": "src/mbgl/renderer/layers/render_line_layer.hpp",
"mbgl/renderer/layers/render_raster_layer.hpp": "src/mbgl/renderer/layers/render_raster_layer.hpp",
"mbgl/renderer/layers/render_symbol_layer.hpp": "src/mbgl/renderer/layers/render_symbol_layer.hpp",
diff --git a/src/mbgl/geometry/feature_index.cpp b/src/mbgl/geometry/feature_index.cpp
index ffb1d6e72d..d42efa16f0 100644
--- a/src/mbgl/geometry/feature_index.cpp
+++ b/src/mbgl/geometry/feature_index.cpp
@@ -156,7 +156,8 @@ void FeatureIndex::addFeature(
assert(geometryTileFeature);
}
- if (!renderLayer->getSymbolInterface() &&
+ bool needsCrossTileIndex = renderLayer->baseImpl->getTypeInfo()->crossTileIndex == style::LayerTypeInfo::CrossTileIndex::Required;
+ if (!needsCrossTileIndex &&
!renderLayer->queryIntersectsFeature(queryGeometry, *geometryTileFeature, tileID.z, transformState, pixelsToTileUnits, posMatrix)) {
continue;
}
diff --git a/src/mbgl/renderer/layers/render_layer_symbol_interface.hpp b/src/mbgl/renderer/layers/render_layer_symbol_interface.hpp
deleted file mode 100644
index e5c16c6e7c..0000000000
--- a/src/mbgl/renderer/layers/render_layer_symbol_interface.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-#pragma once
-
-#include <memory>
-#include <vector>
-#include <string>
-
-namespace mbgl {
-
-class RenderTile;
-class SymbolBucket;
-
-class RenderLayerSymbolInterface {
-public:
- virtual const std::string& layerID() const = 0;
- virtual const std::vector<std::reference_wrapper<RenderTile>>& getRenderTiles() const = 0;
- virtual SymbolBucket* getSymbolBucket(const RenderTile&) const = 0;
-
-protected:
- virtual ~RenderLayerSymbolInterface() = default;
-};
-
-} // namespace mbgl
diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp
index 219ea43430..644056f24d 100644
--- a/src/mbgl/renderer/layers/render_symbol_layer.cpp
+++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp
@@ -412,22 +412,6 @@ bool RenderSymbolLayer::hasCrossfade() const {
return false;
}
-const std::string& RenderSymbolLayer::layerID() const {
- return RenderLayer::getID();
-}
-
-const RenderLayerSymbolInterface* RenderSymbolLayer::getSymbolInterface() const {
- return this;
-}
-
-const std::vector<std::reference_wrapper<RenderTile>>& RenderSymbolLayer::getRenderTiles() const {
- return renderTiles;
-}
-
-SymbolBucket* RenderSymbolLayer::getSymbolBucket(const RenderTile& renderTile) const {
- return renderTile.tile.getBucket<SymbolBucket>(*baseImpl);
-}
-
void RenderSymbolLayer::upload(gfx::UploadPass& uploadPass, UploadParameters& uploadParameters) {
for (const RenderTile& tile : renderTiles) {
const LayerRenderData* renderData = tile.tile.getLayerRenderData(*baseImpl);
@@ -670,17 +654,18 @@ style::TextPaintProperties::PossiblyEvaluated RenderSymbolLayer::textPaintProper
void RenderSymbolLayer::setRenderTiles(RenderTiles tiles, const TransformState& state) {
renderTiles = std::move(tiles);
- // Sort symbol tiles in opposite y position, so tiles with overlapping symbols are drawn
- // on top of each other, with lower symbols being drawn on top of higher symbols.
- std::sort(renderTiles.begin(), renderTiles.end(), [&state](const auto& a, const auto& b) {
- Point<float> pa(a.get().id.canonical.x, a.get().id.canonical.y);
- Point<float> pb(b.get().id.canonical.x, b.get().id.canonical.y);
+ const auto comp = [bearing = state.getBearing()](const RenderTile& a, const RenderTile& b) {
+ Point<float> pa(a.id.canonical.x, a.id.canonical.y);
+ Point<float> pb(b.id.canonical.x, b.id.canonical.y);
- auto par = util::rotate(pa, state.getBearing());
- auto pbr = util::rotate(pb, state.getBearing());
+ auto par = util::rotate(pa, bearing);
+ auto pbr = util::rotate(pb, bearing);
- return std::tie(b.get().id.canonical.z, par.y, par.x) < std::tie(a.get().id.canonical.z, pbr.y, pbr.x);
- });
+ return std::tie(b.id.canonical.z, par.y, par.x) < std::tie(a.id.canonical.z, pbr.y, pbr.x);
+ };
+ // Sort symbol tiles in opposite y position, so tiles with overlapping symbols are drawn
+ // on top of each other, with lower symbols being drawn on top of higher symbols.
+ std::sort(renderTiles.begin(), renderTiles.end(), comp);
placementData.clear();
for (RenderTile& renderTile : renderTiles) {
diff --git a/src/mbgl/renderer/layers/render_symbol_layer.hpp b/src/mbgl/renderer/layers/render_symbol_layer.hpp
index ca9b42728c..351ed4833e 100644
--- a/src/mbgl/renderer/layers/render_symbol_layer.hpp
+++ b/src/mbgl/renderer/layers/render_symbol_layer.hpp
@@ -2,7 +2,6 @@
#include <mbgl/text/glyph.hpp>
#include <mbgl/renderer/render_layer.hpp>
-#include <mbgl/renderer/layers/render_layer_symbol_interface.hpp>
#include <mbgl/style/image_impl.hpp>
#include <mbgl/style/layers/symbol_layer_impl.hpp>
#include <mbgl/style/layers/symbol_layer_properties.hpp>
@@ -53,7 +52,7 @@ public:
} // namespace style
-class RenderSymbolLayer final: public RenderLayer, public RenderLayerSymbolInterface {
+class RenderSymbolLayer final: public RenderLayer {
public:
explicit RenderSymbolLayer(Immutable<style::SymbolLayer::Impl>);
~RenderSymbolLayer() override;
@@ -69,12 +68,6 @@ private:
void upload(gfx::UploadPass&, UploadParameters&) override;
void render(PaintParameters&, RenderSource*) override;
void setRenderTiles(RenderTiles, const TransformState&) override;
-
- // RenderLayerSymbolInterface overrides
- const RenderLayerSymbolInterface* getSymbolInterface() const override;
- const std::string& layerID() const override;
- const std::vector<std::reference_wrapper<RenderTile>>& getRenderTiles() const override;
- SymbolBucket* getSymbolBucket(const RenderTile&) const override;
// Paint properties
style::SymbolPaintProperties::Unevaluated unevaluated;
diff --git a/src/mbgl/renderer/render_layer.cpp b/src/mbgl/renderer/render_layer.cpp
index 373a693ffd..da5269a20f 100644
--- a/src/mbgl/renderer/render_layer.cpp
+++ b/src/mbgl/renderer/render_layer.cpp
@@ -21,6 +21,11 @@ void RenderLayer::transition(const TransitionParameters& parameters, Immutable<s
transition(parameters);
}
+bool RenderLayer::needsPlacement() const {
+ return baseImpl->getTypeInfo()->crossTileIndex == style::LayerTypeInfo::CrossTileIndex::Required
+ && !placementData.empty();
+}
+
const std::string& RenderLayer::getID() const {
return baseImpl->id;
}
@@ -43,10 +48,6 @@ void RenderLayer::setRenderTiles(RenderTiles tiles, const TransformState&) {
renderTiles = filterRenderTiles(std::move(tiles));
}
-const RenderLayerSymbolInterface* RenderLayer::getSymbolInterface() const {
- return nullptr;
-}
-
optional<Color> RenderLayer::getSolidBackground() const {
return nullopt;
}
diff --git a/src/mbgl/renderer/render_layer.hpp b/src/mbgl/renderer/render_layer.hpp
index dc2f4cb5d7..ae5e1a48b0 100644
--- a/src/mbgl/renderer/render_layer.hpp
+++ b/src/mbgl/renderer/render_layer.hpp
@@ -16,7 +16,6 @@ class PropertyEvaluationParameters;
class UploadParameters;
class PaintParameters;
class RenderSource;
-class RenderLayerSymbolInterface;
class RenderTile;
class TransformState;
class GeometryTile;
@@ -58,8 +57,8 @@ public:
// Returns true if the layer has a pattern property and is actively crossfading.
virtual bool hasCrossfade() const = 0;
- // Returns instance of RenderLayerSymbolInterface if RenderLayer supports it.
- virtual const RenderLayerSymbolInterface* getSymbolInterface() const;
+ // Returns true is the layer is subject to placement.
+ bool needsPlacement() const;
const std::string& getID() const;
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp
index 4ca7f3847b..76c45aef76 100644
--- a/src/mbgl/renderer/renderer_impl.cpp
+++ b/src/mbgl/renderer/renderer_impl.cpp
@@ -224,7 +224,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
};
std::set<RenderItem> renderItems;
- std::vector<std::reference_wrapper<RenderLayer>> symbolLayers;
+ std::vector<std::reference_wrapper<RenderLayer>> layersNeedPlacement;
auto renderItemsEmplaceHint = renderItems.begin();
// Update all sources and initialize renderItems.
@@ -298,8 +298,8 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
}
RenderLayer& renderLayer = renderItem.layer;
renderLayer.setRenderTiles(renderItem.source->getRenderTiles(), updateParameters.transformState);
- if (const RenderLayerSymbolInterface* symbolLayer = renderLayer.getSymbolInterface()) {
- symbolLayers.push_back(renderLayer);
+ if (renderLayer.needsPlacement()) {
+ layersNeedPlacement.emplace_back(renderLayer);
}
}
@@ -321,13 +321,13 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
updateParameters.transformState.getProjMatrix(projMatrix);
}
- for (auto it = symbolLayers.rbegin(); it != symbolLayers.rend(); ++it) {
- const RenderLayer& symbolLayer = *it;
- if (crossTileSymbolIndex.addLayer(symbolLayer, updateParameters.transformState.getLatLng().longitude())) symbolBucketsChanged = true;
+ for (auto it = layersNeedPlacement.rbegin(); it != layersNeedPlacement.rend(); ++it) {
+ const RenderLayer& layer = *it;
+ if (crossTileSymbolIndex.addLayer(layer, updateParameters.transformState.getLatLng().longitude())) symbolBucketsChanged = true;
if (placementChanged) {
- usedSymbolLayers.insert(symbolLayer.getID());
- placement->placeLayer(symbolLayer, projMatrix, updateParameters.debugOptions & MapDebugOptions::Collision);
+ usedSymbolLayers.insert(layer.getID());
+ placement->placeLayer(layer, projMatrix, updateParameters.debugOptions & MapDebugOptions::Collision);
}
}
@@ -340,9 +340,8 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
}
if (placementChanged || symbolBucketsChanged) {
- for (auto it = symbolLayers.rbegin(); it != symbolLayers.rend(); ++it) {
- const RenderLayer& symbolLayer = *it;
- placement->updateLayerOpacities(symbolLayer);
+ for (auto it = layersNeedPlacement.rbegin(); it != layersNeedPlacement.rend(); ++it) {
+ placement->updateLayerOpacities(*it);
}
}
}
diff --git a/src/mbgl/style/layers/background_layer.cpp b/src/mbgl/style/layers/background_layer.cpp
index c0350e2545..3c7a2a7569 100644
--- a/src/mbgl/style/layers/background_layer.cpp
+++ b/src/mbgl/style/layers/background_layer.cpp
@@ -23,7 +23,8 @@ const LayerTypeInfo* BackgroundLayer::Impl::staticTypeInfo() noexcept {
LayerTypeInfo::Source::NotRequired,
LayerTypeInfo::Pass3D::NotRequired,
LayerTypeInfo::Layout::NotRequired,
- LayerTypeInfo::FadingTiles::NotRequired
+ LayerTypeInfo::FadingTiles::NotRequired,
+ LayerTypeInfo::CrossTileIndex::NotRequired
};
return &typeInfo;
}
diff --git a/src/mbgl/style/layers/circle_layer.cpp b/src/mbgl/style/layers/circle_layer.cpp
index 5d2cbb69d7..8c3debd1ac 100644
--- a/src/mbgl/style/layers/circle_layer.cpp
+++ b/src/mbgl/style/layers/circle_layer.cpp
@@ -23,7 +23,8 @@ const LayerTypeInfo* CircleLayer::Impl::staticTypeInfo() noexcept {
LayerTypeInfo::Source::Required,
LayerTypeInfo::Pass3D::NotRequired,
LayerTypeInfo::Layout::NotRequired,
- LayerTypeInfo::FadingTiles::NotRequired
+ LayerTypeInfo::FadingTiles::NotRequired,
+ LayerTypeInfo::CrossTileIndex::NotRequired
};
return &typeInfo;
}
diff --git a/src/mbgl/style/layers/custom_layer.cpp b/src/mbgl/style/layers/custom_layer.cpp
index bf6db929c5..e77d6590f7 100644
--- a/src/mbgl/style/layers/custom_layer.cpp
+++ b/src/mbgl/style/layers/custom_layer.cpp
@@ -13,7 +13,8 @@ namespace {
LayerTypeInfo::Source::NotRequired,
LayerTypeInfo::Pass3D::NotRequired,
LayerTypeInfo::Layout::NotRequired,
- LayerTypeInfo::FadingTiles::NotRequired };
+ LayerTypeInfo::FadingTiles::NotRequired,
+ LayerTypeInfo::CrossTileIndex::NotRequired };
} // namespace
CustomLayer::CustomLayer(const std::string& layerID,
diff --git a/src/mbgl/style/layers/fill_extrusion_layer.cpp b/src/mbgl/style/layers/fill_extrusion_layer.cpp
index 5112538c3f..2c07cc56c5 100644
--- a/src/mbgl/style/layers/fill_extrusion_layer.cpp
+++ b/src/mbgl/style/layers/fill_extrusion_layer.cpp
@@ -23,7 +23,8 @@ const LayerTypeInfo* FillExtrusionLayer::Impl::staticTypeInfo() noexcept {
LayerTypeInfo::Source::Required,
LayerTypeInfo::Pass3D::Required,
LayerTypeInfo::Layout::Required,
- LayerTypeInfo::FadingTiles::NotRequired
+ LayerTypeInfo::FadingTiles::NotRequired,
+ LayerTypeInfo::CrossTileIndex::NotRequired
};
return &typeInfo;
}
diff --git a/src/mbgl/style/layers/fill_layer.cpp b/src/mbgl/style/layers/fill_layer.cpp
index a3adb1cf01..0aa19b834a 100644
--- a/src/mbgl/style/layers/fill_layer.cpp
+++ b/src/mbgl/style/layers/fill_layer.cpp
@@ -23,7 +23,8 @@ const LayerTypeInfo* FillLayer::Impl::staticTypeInfo() noexcept {
LayerTypeInfo::Source::Required,
LayerTypeInfo::Pass3D::NotRequired,
LayerTypeInfo::Layout::Required,
- LayerTypeInfo::FadingTiles::NotRequired
+ LayerTypeInfo::FadingTiles::NotRequired,
+ LayerTypeInfo::CrossTileIndex::NotRequired
};
return &typeInfo;
}
diff --git a/src/mbgl/style/layers/heatmap_layer.cpp b/src/mbgl/style/layers/heatmap_layer.cpp
index a0582a7ea9..d35cb10b78 100644
--- a/src/mbgl/style/layers/heatmap_layer.cpp
+++ b/src/mbgl/style/layers/heatmap_layer.cpp
@@ -23,7 +23,8 @@ const LayerTypeInfo* HeatmapLayer::Impl::staticTypeInfo() noexcept {
LayerTypeInfo::Source::Required,
LayerTypeInfo::Pass3D::Required,
LayerTypeInfo::Layout::NotRequired,
- LayerTypeInfo::FadingTiles::NotRequired
+ LayerTypeInfo::FadingTiles::NotRequired,
+ LayerTypeInfo::CrossTileIndex::NotRequired
};
return &typeInfo;
}
diff --git a/src/mbgl/style/layers/hillshade_layer.cpp b/src/mbgl/style/layers/hillshade_layer.cpp
index f448233e28..ba22ab25ab 100644
--- a/src/mbgl/style/layers/hillshade_layer.cpp
+++ b/src/mbgl/style/layers/hillshade_layer.cpp
@@ -23,7 +23,8 @@ const LayerTypeInfo* HillshadeLayer::Impl::staticTypeInfo() noexcept {
LayerTypeInfo::Source::Required,
LayerTypeInfo::Pass3D::Required,
LayerTypeInfo::Layout::NotRequired,
- LayerTypeInfo::FadingTiles::NotRequired
+ LayerTypeInfo::FadingTiles::NotRequired,
+ LayerTypeInfo::CrossTileIndex::NotRequired
};
return &typeInfo;
}
diff --git a/src/mbgl/style/layers/layer.cpp.ejs b/src/mbgl/style/layers/layer.cpp.ejs
index 94650eba20..189857434f 100644
--- a/src/mbgl/style/layers/layer.cpp.ejs
+++ b/src/mbgl/style/layers/layer.cpp.ejs
@@ -25,7 +25,8 @@ let layerCapabilities = {};
let defaults = { caps: { 'Source': 'NotRequired',
'Pass3D': 'NotRequired',
'Layout': 'NotRequired',
- 'FadingTiles': 'NotRequired'
+ 'FadingTiles': 'NotRequired',
+ 'CrossTileIndex': 'NotRequired'
},
require: function(cap) {
let copy = Object.assign({}, this);
@@ -55,6 +56,7 @@ layerCapabilities['hillshade'] = defaults.require('Source')
layerCapabilities['symbol'] = defaults.require('Source')
.require('Layout')
.require('FadingTiles')
+ .require('CrossTileIndex')
.finalize();
layerCapabilities['circle'] = defaults.require('Source').finalize();
layerCapabilities['line'] = layerCapabilities['fill'];
diff --git a/src/mbgl/style/layers/line_layer.cpp b/src/mbgl/style/layers/line_layer.cpp
index 2efd424b2c..878816f6e4 100644
--- a/src/mbgl/style/layers/line_layer.cpp
+++ b/src/mbgl/style/layers/line_layer.cpp
@@ -23,7 +23,8 @@ const LayerTypeInfo* LineLayer::Impl::staticTypeInfo() noexcept {
LayerTypeInfo::Source::Required,
LayerTypeInfo::Pass3D::NotRequired,
LayerTypeInfo::Layout::Required,
- LayerTypeInfo::FadingTiles::NotRequired
+ LayerTypeInfo::FadingTiles::NotRequired,
+ LayerTypeInfo::CrossTileIndex::NotRequired
};
return &typeInfo;
}
diff --git a/src/mbgl/style/layers/raster_layer.cpp b/src/mbgl/style/layers/raster_layer.cpp
index af2c56cbae..1e2cd748c1 100644
--- a/src/mbgl/style/layers/raster_layer.cpp
+++ b/src/mbgl/style/layers/raster_layer.cpp
@@ -23,7 +23,8 @@ const LayerTypeInfo* RasterLayer::Impl::staticTypeInfo() noexcept {
LayerTypeInfo::Source::Required,
LayerTypeInfo::Pass3D::NotRequired,
LayerTypeInfo::Layout::NotRequired,
- LayerTypeInfo::FadingTiles::NotRequired
+ LayerTypeInfo::FadingTiles::NotRequired,
+ LayerTypeInfo::CrossTileIndex::NotRequired
};
return &typeInfo;
}
diff --git a/src/mbgl/style/layers/symbol_layer.cpp b/src/mbgl/style/layers/symbol_layer.cpp
index 3f3dc86b71..6748fbd4aa 100644
--- a/src/mbgl/style/layers/symbol_layer.cpp
+++ b/src/mbgl/style/layers/symbol_layer.cpp
@@ -23,7 +23,8 @@ const LayerTypeInfo* SymbolLayer::Impl::staticTypeInfo() noexcept {
LayerTypeInfo::Source::Required,
LayerTypeInfo::Pass3D::NotRequired,
LayerTypeInfo::Layout::Required,
- LayerTypeInfo::FadingTiles::Required
+ LayerTypeInfo::FadingTiles::Required,
+ LayerTypeInfo::CrossTileIndex::Required
};
return &typeInfo;
}
diff --git a/src/mbgl/text/cross_tile_symbol_index.cpp b/src/mbgl/text/cross_tile_symbol_index.cpp
index 780a0f551d..34b67c2a52 100644
--- a/src/mbgl/text/cross_tile_symbol_index.cpp
+++ b/src/mbgl/text/cross_tile_symbol_index.cpp
@@ -1,7 +1,6 @@
#include <mbgl/text/cross_tile_symbol_index.hpp>
#include <mbgl/layout/symbol_instance.hpp>
#include <mbgl/renderer/buckets/symbol_bucket.hpp>
-#include <mbgl/renderer/layers/render_layer_symbol_interface.hpp>
#include <mbgl/renderer/render_tile.hpp>
#include <mbgl/tile/tile.hpp>
diff --git a/src/mbgl/text/placement.cpp b/src/mbgl/text/placement.cpp
index 8a6b21717c..bcb193d02a 100644
--- a/src/mbgl/text/placement.cpp
+++ b/src/mbgl/text/placement.cpp
@@ -2,7 +2,6 @@
#include <mbgl/layout/symbol_layout.hpp>
#include <mbgl/renderer/render_layer.hpp>
-#include <mbgl/renderer/layers/render_layer_symbol_interface.hpp>
#include <mbgl/renderer/render_tile.hpp>
#include <mbgl/tile/geometry_tile.hpp>
#include <mbgl/renderer/buckets/symbol_bucket.hpp>
diff --git a/src/mbgl/text/placement.hpp b/src/mbgl/text/placement.hpp
index 96af27a89e..8dcb7e3ff9 100644
--- a/src/mbgl/text/placement.hpp
+++ b/src/mbgl/text/placement.hpp
@@ -10,7 +10,6 @@
namespace mbgl {
-class RenderLayerSymbolInterface;
class SymbolBucket;
class SymbolInstance;