summaryrefslogtreecommitdiff
path: root/src/mbgl/layout/symbol_layout.hpp
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-01-03 17:17:57 +0200
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-01-10 14:37:43 +0200
commite01182c50788d26482ce88bc9c73b02581374173 (patch)
tree1cf3a84698e358ff2e2e8af3ec1d9e982b7a485e /src/mbgl/layout/symbol_layout.hpp
parent50f5bbcdab9009f5e68f865a4fcf77874c0434ff (diff)
downloadqtlocation-mapboxgl-e01182c50788d26482ce88bc9c73b02581374173.tar.gz
[core] shader program must always match bucket in render symbol layerupstream/mikhail_sync_bucket_in_render_symbol_layer
Before this change, `RenderSymbolLayer` with updated style was trying to render symbols using the previous bucket (with paint property binders that matched a previous program). Now, symbol bucket caches the latest corresponding paint properties (caching is happening on complete tiles only). As a result, `RenderSymbolLayer` always picks the shader program and its parameters in sync with the obtained bucket.
Diffstat (limited to 'src/mbgl/layout/symbol_layout.hpp')
-rw-r--r--src/mbgl/layout/symbol_layout.hpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/mbgl/layout/symbol_layout.hpp b/src/mbgl/layout/symbol_layout.hpp
index 7045eebc22..ab6dc049a2 100644
--- a/src/mbgl/layout/symbol_layout.hpp
+++ b/src/mbgl/layout/symbol_layout.hpp
@@ -44,8 +44,7 @@ public:
bool hasSymbolInstances() const override;
bool hasDependencies() const override;
- std::map<std::string,
- std::pair<style::IconPaintProperties::PossiblyEvaluated, style::TextPaintProperties::PossiblyEvaluated>> layerPaintProperties;
+ std::map<std::string, style::SymbolPaintProperties::PossiblyEvaluated> layerPaintProperties;
const std::string bucketLeaderID;
std::vector<SymbolInstance> symbolInstances;