diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2019-03-07 13:08:30 +0100 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2019-03-12 11:03:54 +0100 |
commit | cb64c380fbbd209cb68af60e76b7a770805353a8 (patch) | |
tree | 77b790ae49e8f5877be599a0dad2f413a98da43f /src/mbgl/renderer/layers/render_symbol_layer.cpp | |
parent | 54847ea98698c85da156874dc84088772599ee3b (diff) | |
download | qtlocation-mapboxgl-cb64c380fbbd209cb68af60e76b7a770805353a8.tar.gz |
[core] add texture bindings to draw call invocations
Diffstat (limited to 'src/mbgl/renderer/layers/render_symbol_layer.cpp')
-rw-r--r-- | src/mbgl/renderer/layers/render_symbol_layer.cpp | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp index 11eeb376ce..a5ac6ceeea 100644 --- a/src/mbgl/renderer/layers/render_symbol_layer.cpp +++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp @@ -93,7 +93,8 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { const auto& symbolSizeBinder, const SymbolPropertyValues& values_, const auto& binders, - const auto& paintProperties) + const auto& paintProperties, + auto&& textureBindings) { auto& programInstance = program.get(paintProperties); @@ -127,6 +128,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { buffers.segments, allUniformValues, allAttributeBindings, + std::move(textureBindings), getID() ); }; @@ -170,7 +172,8 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { bucket.iconSizeBinder, values, bucketPaintProperties.iconBinders, - paintPropertyValues); + paintPropertyValues, + SymbolSDFIconProgram::TextureBindings{}); } if (values.hasFill) { @@ -180,7 +183,8 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { bucket.iconSizeBinder, values, bucketPaintProperties.iconBinders, - paintPropertyValues); + paintPropertyValues, + SymbolSDFIconProgram::TextureBindings{}); } } else { draw(parameters.programs.getSymbolLayerPrograms().symbolIcon, @@ -189,7 +193,8 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { bucket.iconSizeBinder, values, bucketPaintProperties.iconBinders, - paintPropertyValues); + paintPropertyValues, + SymbolIconProgram::TextureBindings{}); } } @@ -223,7 +228,8 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { bucket.textSizeBinder, values, bucketPaintProperties.textBinders, - paintPropertyValues); + paintPropertyValues, + SymbolSDFTextProgram::TextureBindings{}); } if (values.hasFill) { @@ -233,7 +239,8 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { bucket.textSizeBinder, values, bucketPaintProperties.textBinders, - paintPropertyValues); + paintPropertyValues, + SymbolSDFTextProgram::TextureBindings{}); } } @@ -267,6 +274,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { bucket.collisionBox.segments, paintAttributeData, properties, + CollisionBoxProgram::TextureBindings{}, parameters.state.getZoom(), getID() ); @@ -303,6 +311,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) { bucket.collisionCircle.segments, paintAttributeData, properties, + CollisionCircleProgram::TextureBindings{}, parameters.state.getZoom(), getID() ); |