summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/layers
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/layers')
-rw-r--r--src/mbgl/renderer/layers/render_raster_layer.cpp14
-rw-r--r--src/mbgl/renderer/layers/render_symbol_layer.cpp22
2 files changed, 23 insertions, 13 deletions
diff --git a/src/mbgl/renderer/layers/render_raster_layer.cpp b/src/mbgl/renderer/layers/render_raster_layer.cpp
index 48ca0584fc..8569303a06 100644
--- a/src/mbgl/renderer/layers/render_raster_layer.cpp
+++ b/src/mbgl/renderer/layers/render_raster_layer.cpp
@@ -83,7 +83,8 @@ void RenderRasterLayer::render(PaintParameters& parameters, RenderSource* source
const auto& vertexBuffer,
const auto& indexBuffer,
const auto& segments,
- const auto& textureBindings) {
+ const auto& textureBindings,
+ const std::string& drawScopeID) {
auto& programInstance = parameters.programs.getRasterLayerPrograms().raster;
const auto allUniformValues = programInstance.computeAllUniformValues(
@@ -125,7 +126,7 @@ void RenderRasterLayer::render(PaintParameters& parameters, RenderSource* source
allUniformValues,
allAttributeBindings,
textureBindings,
- getID()
+ getID() + "/" + drawScopeID
);
};
@@ -144,7 +145,8 @@ void RenderRasterLayer::render(PaintParameters& parameters, RenderSource* source
RasterProgram::TextureBindings{
textures::image0::Value{ bucket.texture->getResource(), filter },
textures::image1::Value{ bucket.texture->getResource(), filter },
- });
+ },
+ bucket.drawScopeID);
}
}
} else {
@@ -168,7 +170,8 @@ void RenderRasterLayer::render(PaintParameters& parameters, RenderSource* source
RasterProgram::TextureBindings{
textures::image0::Value{ bucket.texture->getResource(), filter },
textures::image1::Value{ bucket.texture->getResource(), filter },
- });
+ },
+ bucket.drawScopeID);
} else {
// Draw the full tile.
draw(parameters.matrixForTile(tile.id, true),
@@ -178,7 +181,8 @@ void RenderRasterLayer::render(PaintParameters& parameters, RenderSource* source
RasterProgram::TextureBindings{
textures::image0::Value{ bucket.texture->getResource(), filter },
textures::image1::Value{ bucket.texture->getResource(), filter },
- });
+ },
+ bucket.drawScopeID);
}
}
}
diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp
index 5c0aea0eac..9429cff469 100644
--- a/src/mbgl/renderer/layers/render_symbol_layer.cpp
+++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp
@@ -166,7 +166,8 @@ void drawIcon(const DrawFn& draw,
paintPropertyValues,
SymbolSDFIconProgram::TextureBindings{
textureBinding
- });
+ },
+ "halo");
}
if (values.hasFill) {
@@ -180,7 +181,8 @@ void drawIcon(const DrawFn& draw,
paintPropertyValues,
SymbolSDFIconProgram::TextureBindings{
textureBinding
- });
+ },
+ "fill");
}
} else {
draw(parameters.programs.getSymbolLayerPrograms().symbolIcon,
@@ -193,7 +195,8 @@ void drawIcon(const DrawFn& draw,
paintPropertyValues,
SymbolIconProgram::TextureBindings{
textureBinding
- });
+ },
+ "icon");
}
}
@@ -311,7 +314,8 @@ void drawText(const DrawFn& draw,
paintPropertyValues,
SymbolSDFTextProgram::TextureBindings{
textureBinding
- });
+ },
+ "halo");
}
if (values.hasFill) {
@@ -325,7 +329,8 @@ void drawText(const DrawFn& draw,
paintPropertyValues,
SymbolSDFTextProgram::TextureBindings{
textureBinding
- });
+ },
+ "fill");
}
}
@@ -409,7 +414,8 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
const SymbolPropertyValues& values_,
const auto& binders,
const auto& paintProperties,
- const auto& textureBindings) {
+ const auto& textureBindings,
+ const std::string& suffix) {
const auto allUniformValues = programInstance.computeAllUniformValues(
uniformValues,
*symbolSizeBinder,
@@ -445,7 +451,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
allUniformValues,
allAttributeBindings,
textureBindings,
- this->getID()
+ this->getID() + "/" + suffix
);
},
[&](const std::reference_wrapper<SegmentVector<SymbolTextAttributes>>& segmentVector) {
@@ -464,7 +470,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
allUniformValues,
allAttributeBindings,
textureBindings,
- this->getID()
+ this->getID() + "/" + suffix
);
}
);