summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/layers/render_raster_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-15 11:57:43 -0700
commitda5bd4d6e3a0202cc4f9e4d3d17e159eb90acba6 (patch)
tree9450b28ea53804129de6cc049404bbef2b83778c /src/mbgl/renderer/layers/render_raster_layer.cpp
parentd5e7fabf455d3e8e6cb852fa544649c8012d70ed (diff)
downloadqtlocation-mapboxgl-da5bd4d6e3a0202cc4f9e4d3d17e159eb90acba6.tar.gz
[core] use unique IDs for DrawScopes
Diffstat (limited to 'src/mbgl/renderer/layers/render_raster_layer.cpp')
-rw-r--r--src/mbgl/renderer/layers/render_raster_layer.cpp14
1 files changed, 9 insertions, 5 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);
}
}
}