summaryrefslogtreecommitdiff
path: root/src/mbgl
Commit message (Collapse)AuthorAgeFilesLines
* [core] move draw mode and primitives to gfx namespaceKonstantin Käfer2019-03-0148-124/+138
|
* [core] include what you useKonstantin Käfer2019-03-018-9/+9
|
* [core] extract attribute structs and gl::Vertex to separate namespaceKonstantin Käfer2019-03-0149-457/+390
|
* [core] rename gl::AttributeType to gl::Attribute to free up the nameKonstantin Käfer2019-03-014-29/+29
|
* [core] disallow subtyping of gl::Attributes<> and use type aliases insteadKonstantin Käfer2019-03-0110-82/+79
|
* [core] extract uniform type lists from gl namespaceKonstantin Käfer2019-03-0127-150/+178
|
* [core] remove Tag from gl::UniformKonstantin Käfer2019-03-012-11/+11
|
* [core] Move Map::Impl to its own def/impl filesBruno de Oliveira Abinader2019-02-273-213/+246
|
* [core] Use unwrapped longitude for bounds checkBruno de Oliveira Abinader2019-02-263-44/+62
|
* [core] Ensure 'isPanning' is true when panning a full roundBruno de Oliveira Abinader2019-02-261-1/+1
|
* [core] remove DrawMode from VertexVector/BufferKonstantin Käfer2019-02-254-20/+11
|
* [core] Layer manager is responsible for buckets and layouts creationMikhail Pozdnyakov2019-02-2532-139/+94
| | | | This is a step to stop using of render layers in tile worker thread.
* [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-1218-123/+31
| | | | | | 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-1122-91/+256
| | | | | | | | | | | 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.
* [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
|