summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/layers/render_background_layer.cpp
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2019-04-02 14:11:37 +0200
committerKonstantin Käfer <mail@kkaefer.com>2019-05-28 16:11:05 +0200
commit12d8948c2a94df752edfcd492a8c256f65908c5c (patch)
treedfb8b503d1e63551ad2a5733717ad3a2f60d5fe2 /src/mbgl/renderer/layers/render_background_layer.cpp
parente52ce34fb578e2c9f9f61fcea11e1ebb2251b6f4 (diff)
downloadqtlocation-mapboxgl-12d8948c2a94df752edfcd492a8c256f65908c5c.tar.gz
[core] ensure gfx::DrawScopes are unique
Diffstat (limited to 'src/mbgl/renderer/layers/render_background_layer.cpp')
-rw-r--r--src/mbgl/renderer/layers/render_background_layer.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mbgl/renderer/layers/render_background_layer.cpp b/src/mbgl/renderer/layers/render_background_layer.cpp
index 37386c2532..818b458145 100644
--- a/src/mbgl/renderer/layers/render_background_layer.cpp
+++ b/src/mbgl/renderer/layers/render_background_layer.cpp
@@ -68,7 +68,7 @@ void RenderBackgroundLayer::render(PaintParameters& parameters) {
const Properties<>::PossiblyEvaluated properties;
const BackgroundProgram::Binders paintAttributeData(properties, 0);
- auto draw = [&](auto& program, auto&& uniformValues, const auto& textureBindings) {
+ auto draw = [&](auto& program, auto&& uniformValues, const auto& textureBindings, const UnwrappedTileID& id) {
const auto allUniformValues = program.computeAllUniformValues(
std::move(uniformValues),
paintAttributeData,
@@ -96,7 +96,7 @@ void RenderBackgroundLayer::render(PaintParameters& parameters) {
allUniformValues,
allAttributeBindings,
textureBindings,
- getID()
+ getID() + "/" + util::toString(id)
);
};
const auto& evaluated = static_cast<const BackgroundLayerProperties&>(*evaluatedProperties).evaluated;
@@ -123,7 +123,8 @@ void RenderBackgroundLayer::render(PaintParameters& parameters) {
),
BackgroundPatternProgram::TextureBindings{
textures::image::Value{ parameters.imageManager.textureBinding() },
- }
+ },
+ tileID
);
}
} else {
@@ -135,7 +136,8 @@ void RenderBackgroundLayer::render(PaintParameters& parameters) {
uniforms::color::Value( evaluated.get<BackgroundColor>() ),
uniforms::opacity::Value( evaluated.get<BackgroundOpacity>() ),
},
- BackgroundProgram::TextureBindings{}
+ BackgroundProgram::TextureBindings{},
+ tileID
);
}
}