summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [build] Use the correct define on WindowsThiago Marcos P. Santos2019-02-192-2/+2
| | | | https://blog.kowalczyk.info/article/j/guide-to-predefined-macros-in-c-compilers-gcc-clang-msvc-etc..html
* [core] Switch to the new OpenGL abstractionThiago Marcos P. Santos2019-02-1219-125/+34
| | | | | | This patch will make Mapbox GL Core never use OpenGL directly. We should consider locking into OpenGL ES 2.0 to simplify the code path and remove #ifdefs.
* [core] Abstract the OpenGL implementationThiago Marcos P. Santos2019-02-122-0/+192
| | | | | | | | | | | The platform will be responsible to load the OpenGL implementation and give the function pointers to Mapbox GL Core. The platform might load OpenGL by linking against some OpenGL implementation, load it dynamically, etc. It doesn't matter as long as it is a valid implementation. Also adds the `::platform` namespace where all the missing symbols and interfaces expected to be implemented by the platforms will live.
* [core] Reduce presence of the 'useIntegerZoom' optionMikhail Pozdnyakov2019-02-045-36/+23
| | | | | | | | The `useIntegerZoom` presence is now limited: it is removed from `PossiblyEvaluatedPropertyValue` class specializations (was never used there!) and from the `PropertyEvaluationParameters` class, so we do not have to copy `PropertyEvaluationParameters` instance at `RenderLineLayer::evaluate`.
* [core] Remove paintProperties() method from some render layersMikhail Pozdnyakov2019-01-318-54/+5
| | | | | | | PatternLayout can directly access layer's `evaluated` field. Besides, obviates accessing of moved `evaluatedProps` inside PatternLayout constructor.
* [core] change loop variable type to autoKonstantin Käfer2019-01-301-1/+1
| | | | We used `const std::pair<T, std::shared_ptr<Expression>>`, but the actual type is `const std::pair<const T, std::shared_ptr<Expression>>` which resulted in an implicit copy
* [core] Remove tile sorting from the clip and mask algorithmsMikhail Pozdnyakov2019-01-183-7/+9
| | | | | | | | | | The tile sorting can be now removed from the algorithms, which calculate tile mask and clip ids, because their client code provides tiles being already sorted (in `TilePyramid`). This patch brings significant improvements to the Tile-related performance tests results, for example the `TileMaskGeneration` benchmark test runs 33 times faster with these changes applied.
* [core] TilePyramid has sorted render tilesMikhail Pozdnyakov2019-01-168-20/+29
| | | | Thus we obviate unneeded extra sorting of render tiles at each render layer.
* [core] SymbolBucket: use single map for paint properties dataMikhail Pozdnyakov2019-01-144-27/+30
| | | | Obviates unnecessary lookups, improves readability.
* [core] return constexpr strings from functions to avoid ODR compile failuresKonstantin Käfer2019-01-114-43/+43
|
* [core] Split layer type specific code in mbgl::ProgramsMikhail Pozdnyakov2019-01-1123-91/+257
| | | | | | | | | | | Progams code for a certain layer type is encapsulted within a dedicated `<layer type>Programs` class, inherited from the generic base `LayerTypePrograms` class. `mbgl::Programs::get<layer type>Programs()` lazily initializes the layer type-specific programs code using pointer to the base class, which allows LTO to remove this code from binaries (if the corresponding `get<layer type>Programs()` method can never be invoked).
* [core] shader program must always match bucket in render symbol layerMikhail Pozdnyakov2019-01-118-53/+73
| | | | | | | | | 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.
* [build] generate header maps instead of -files.txtKonstantin Käfer2019-01-091-0/+756
|
* [core] Updated script detection for Unicode 11Minh Nguyễn2019-01-071-0/+11
| | | | Updated script detection code to reflect changes in Unicode 11.
* [core] fix deduping rings in querying, #11357Ansis Brammanis2019-01-041-1/+2
|
* [core] Drop LayerTypeMikhail Pozdnyakov2019-01-0421-101/+100
| | | | | Drop LayerType and its remaining usages. The generic code should be layer type agnostic.
* [core] Support for excluding ideographic glyphs from offline downloads.Chris Loer2018-12-211-0/+2
|
* [core] Remove fnv_hash.hppMikhail Pozdnyakov2018-12-201-11/+0
|
* [core] Use eternal::hash_map in style::LayersMikhail Pozdnyakov2018-12-1910-1214/+311
|
* [core] Introduce Renderer::queryFeatureExtension APIAlexander Shalamov2018-12-126-0/+127
| | | | | | New interface allows it's users to query additional information about feature that was provided by qRF interface. This is particularly useful for clustered features.
* [core] Share GeoJSONData pointer as weak_ptr instead of raw ptrAlexander Shalamov2018-12-124-15/+15
|
* [core] Expose getChildren, getLeaves, getClusterExpansionZoom on ↵Alexander Shalamov2018-12-122-0/+35
| | | | SuperclusterData
* [core] Avoid divide-by-zero when transition duration is 0..Chris Loer2018-12-111-2/+5
| | | | Fixes issue #13506 -- transition duration of 0 would cause symbol flickering.
* [docs] EnterIdle -> BecomeIdleChris Loer2018-12-111-1/+1
|
* [core, darwin, android] Add onDidEnterIdle to MapObserver.Chris Loer2018-12-111-0/+2
| | | | didEnterIdle fires whenever render completes and no repaint is scheduled.
* [core]Disable RenderAnnotationSource when annotations are disabledMikhail Pozdnyakov2018-12-112-1/+11
| | | | | | This patch disables creation of `RenderAnnotationSource` instances and thus saves extra 4Ki on Android when `LayerManager::annotationsEnabled` is `false`.
* [core, android, darwin] Move layer factories to separate filesMikhail Pozdnyakov2018-12-1021-257/+287
|
* [android] expose Formatted text-field setterŁukasz Paczos2018-12-041-3/+57
|
* [core] convert CompoundExpressionRegistry to constexpr hash mapKonstantin Käfer2018-12-043-110/+420
|
* [core] use constexpr map using eternal for expression lookupsKonstantin Käfer2018-12-042-39/+44
|
* Add basic shader minification (#13500)Vladimir Agafonkin2018-12-0427-1612/+944
| | | | | | * add basic shader minification (same GL JS does) * don't remove line break at shader end
* [core] layermanager folderMikhail Pozdnyakov2018-11-309-59/+86
| | | | Move `LayerManager` and `LayerFactory` abstract classes to a dedicated folder.
* [core] Do not consider X axis when constraining scaleBruno de Oliveira Abinader2018-11-292-9/+5
|
* [core] Support fill-extrusion-vertical-gradientBruno de Oliveira Abinader2018-11-2916-1572/+1660
|
* [core] LayerManager can disable annotationsMikhail Pozdnyakov2018-11-285-18/+65
| | | | | | | | | | | | | At the moment, the annotations implementation in the `mapbox-gl-native` core is creating concrete layer instances apart from `LayerManager/LayerFactory` code path. So, annotations must be disabled if the `LayerManager` implementation does not provide line, fill or symbol layers (those, used by the annotations). Note: in future, annotations implementation will be moved from the core to the platform SDK level(see https://github.com/mapbox/mapbox-plugins-android/tree/master/plugin-annotation) and `LayerManager` won't need to disable it.
* [core] Cleanup Transform, use {jump,ease}To() insteadBruno de Oliveira Abinader2018-11-274-203/+42
|
* [core] Remove error-prone setlatLng overloadBruno de Oliveira Abinader2018-11-273-17/+3
|
* [core][Android][Darwin] LayerManager creates RenderLayer instancesMikhail Pozdnyakov2018-11-2750-272/+298
| | | | | | | | `LayerManager` is now responsible for `RenderLayer` instances creation, so that there is a single entry point for creating of objects, which correspond to a certain layer type. The `LayerType type` field is dropped from `Layer::Impl`.
* [core] Camera center and anchor points are mutually exclusiveBruno de Oliveira Abinader2018-11-261-1/+3
|
* [core] Fix VectorTileFeature::getValue() semantics after geometry@v1.0.0Bruno de Oliveira Abinader2018-11-261-1/+2
|
* [core] Fixed {prefix} evaluationMinh Nguyễn2018-11-211-4/+4
| | | | This appears to have been an attempt to use the std::string fill constructor, but it ended up creating a one-character-long string and attempting to overwrite the null terminator.
* [core] Let placement transitions use the transition duration, if set, and ↵Bruno de Oliveira Abinader2018-11-213-11/+19
| | | | allow disabling them entirely
* [core] Let property evaluation transitions use the transition duration, if setBruno de Oliveira Abinader2018-11-211-2/+6
|
* Refactor util::fontStacks()Mikhail Pozdnyakov2018-11-197-33/+38
| | | | | | So that it does not downcast `Layer::Impl` instances. Also, an unneeded `std::vector` construction was removed from `Parser::fontStacks()`.
* [core] Construct RenderItem objects in-place and remove unused headersAlexander Shalamov2018-11-191-9/+5
|
* [core] Remove RenderLayer's is<> as<> methodsAlexander Shalamov2018-11-1911-65/+0
|
* [core] Replace RenderSymbolLayer downcast with symbol interfaceAlexander Shalamov2018-11-1911-56/+108
|
* [core] Remove casts in bucketsAlexander Shalamov2018-11-197-24/+18
|
* [core] Add use LayerTypeInfo::Layout for the layers that require LayoutAlexander Shalamov2018-11-196-6/+10
|
* [core] Remove casts where expected type is part of the contractAlexander Shalamov2018-11-197-9/+21
|