Commit Graph

151 Commits

Author SHA1 Message Date
John Firebaugh
212ae5273d [core] cleanup ProgramParameters 2017-06-14 11:13:43 -07:00
Fabian Guerra Soto
fe17f7e8db Cherry-pick arabic text to release branch v3.6.0 (#9071)
* [core] Throttle tiles to redo symbol placement at most once every 300ms.
Fixes issue #8435 and prepares for pitch-scaling changes in issue #8967.

* [core] Disable letter-spacing for Arabic labels (issue #9057)
2017-05-23 12:02:09 -04:00
Bruno de Oliveira Abinader
c69fae99a5 [build] Suppress GLFW redefining GLAPIENTRY error 2017-05-09 14:35:34 +03:00
John Firebaugh
baaae99a03 [core, android] Factor JSON string conversions
This adds a `convertJSON` template, to be used like:

   Error error
   optional<Foo> foo = convertJSON<Foo>(string, error);

Internally, it parses the string with RapidJSON and then calls `convert<Foo>(parsed, error)`.

While here, rationalize GeoJSON converters and fix error handling for Tileset conversion in OfflineDownload.
2017-05-08 13:48:57 -07:00
Ivo van Dongen
feae5e22ee [core] generated accessor methods on light 2017-05-08 19:39:55 +03:00
Ivo van Dongen
20810f988a [core] render light 2017-05-08 19:39:55 +03:00
John Firebaugh
e7d2796762 [core] Omnibus Style::update method
Combine Style::cascade, recalculate, relayout, and updateTiles into a single method. This allows multiple loops over sources and layers to be consolidated and prepares for additional Style-Map decoupling: rather than tracking pending updates via a set of Update flags held by the Map and passed to the Style, the Style can use its own data to determine what to update.
2017-05-04 09:59:56 -07:00
John Firebaugh
89f1ffc6d2 [core] UpdateParameters ⇢ TileParameters 2017-05-04 07:29:08 -07:00
John Firebaugh
d5f4d0f05f [core] Move render-related sources out of style directory/namespace
Moves the following to the renderer directory and out of the style namespace:

* CascadeParameters
* PropertyEvaluationParameters
* UpdateParameters
* PropertyEvaluator
* DataDrivenPropertyEvaluator
* CrossFadedPropertyEvaluator
* PaintPropertyBinder
* PaintProperyStatistics
* PossiblyEvaluatedPropertyValue
* TransitioningLight
* EvaluatedLight
2017-05-03 08:30:17 -07:00
Asheem Mamoowala
5c52401d55 [core] Make Map.addImage tests pass (#8843)
Fix Node tests suite implementation to parse pixelRatio from style json
Premultiply images in the node binding before sending to mbgl core
2017-05-02 09:54:06 -07:00
John Firebaugh
3f0c89d633 [core] Refactor Source::*Impls into RenderSources and TilePyramid 2017-05-02 08:45:09 -07:00
John Firebaugh
c2b00378b7 [all] Push querySourceFeatures back out to Map
Once Source and RendererSource are split, Source will no longer have access to tiles.
2017-05-02 08:45:09 -07:00
Lauren Budorick
f6e79d7073 [core] Render fill-extrusion layers (#8431) 2017-04-27 15:56:55 -07:00
Ivo van Dongen
3c175adf30 [core] split off render layers 2017-04-25 17:23:54 -07:00
John Firebaugh
5dd98df50b [all] Rationalize style::Image
A style has a collection of images, just as it has collections of sources and layers.

* Name things appropriately
* Use std::unique_ptr
2017-04-24 15:52:28 -07:00
Konstantin Käfer
59055cf403 [core] Move Sprite parsing to thread pool 2017-04-24 10:42:47 +02:00
Konstantin Käfer
97f2a44859 [core] remove unused leftover files 2017-04-20 20:04:33 +02:00
John Firebaugh
7b041b123c [core, darwin] Object identity for MGLSource*, MGLStyleLayer*
All `MGLSource` pointers referencing the same logical source will now be object identical; similarly for `MGLStyleLayer`.
2017-04-13 10:33:18 -07:00
John Firebaugh
0810192163 [core] Inline GlyphSet into GlyphAtlas 2017-04-12 16:57:52 -07:00
Konstantin Käfer
e26308f1b9 [macos] expose link flags via mbgl-core target 2017-04-06 18:31:34 +02:00
Chris Loer
5cdf838a38 [core] De-mutex GlyphAtlas and SpriteAtlas
- Expose glyph and icon information to workers via message interface.
 - Glyph/SpriteAtlas track which tiles have outstanding requests
    and send messages to them when glyphs/icons become available.
 - Remove obsolete "updateSymbolDependentTiles" pathway
 - Symbol preparation for a tile now depends on all glyphs becoming
    available before it can start.
 - Start tracking individual icons needed for a tile, although we don't
    do anything with the information yet.
 - Introduce typedef for GlyphID
2017-04-04 11:33:12 -07:00
Anand Thakker
b5b4549b6d Fix edge case in composite function interpolation (#8613)
This fixes a bug where, for a zoom value greater than that of the highest zoom
stop, composite function interpolation would return nan. (Blocking a render
test over in #8593)

* Add failing tests for composite function edge case

The failing cases here are:
 - Should interpolate before the first stop
 - Should interpolate past the last stop

* Fix edge case in composite function interpolation

* Hold functions constant outside stop-defined domain
2017-04-03 12:25:36 -04:00
Konstantin Käfer
a9896fa01b [build] generate .xcconfig files with configure_file
We previously used incremental `file(WRITE ...)` commands that gradually recreated the file on every CMake invocation. This sometimes lead to Xcode parsing a partially written file, which in turn breaks building dependend targets. Instead, we're now using a templated configuration file, which ensure that the file is created in one go and hopefully reduces the race condition between CMake and Xcode's automatic project updating.
2017-03-28 21:24:12 +02:00
Konstantin Käfer
c86b492bf7 [build] don't advertise headers that aren't used in public headers 2017-03-28 21:24:12 +02:00
Konstantin Käfer
f70f604e5b [core] Privatize gl/gl.hpp 2017-03-28 13:53:19 +02:00
Konstantin Käfer
a84aa453a9 [core] Privatize OpenGL/Context headers 2017-03-28 13:53:19 +02:00
Konstantin Käfer
3f0f4575e7 [android] Move SDK files to separate target 2017-03-28 13:53:19 +02:00
Konstantin Käfer
028360b68f [node] Move util/async_task.hpp to public include directory 2017-03-28 13:53:19 +02:00
Konstantin Käfer
68e032e505 [core] Remove private header includes from CLI utilities 2017-03-28 13:53:19 +02:00
Bruno de Oliveira Abinader
9b39013ce4 [core] Internalize rapidjson.hpp 2017-03-28 13:53:19 +02:00
John Firebaugh
321d820a87 [node] Eliminate src as an include path 2017-03-28 13:53:19 +02:00
John Firebaugh
34aa7f880e [core] Move map/change.hpp to public include directory 2017-03-28 13:53:19 +02:00
John Firebaugh
099a1cb9f1 [core] Move actor/{mailbox,scheduler}.hpp to public include directory
Map constructor takes Scheduler&, and consumers are expected to define an implementation. Therefore the interface must be public.
2017-03-28 13:53:19 +02:00
John Firebaugh
54cbdc4812 [core] Move ignore.hpp to public include directory 2017-03-28 13:53:19 +02:00
John Firebaugh
3db027751e [core] Avoid public dtoa.hpp include 2017-03-28 13:53:19 +02:00
John Firebaugh
a3c8fcda9c [core] Core tests and benchmarks are allowed to include via src 2017-03-28 13:53:19 +02:00
John Firebaugh
15833a6b78 [core] Move interpolate.hpp to public include directory 2017-03-28 13:53:19 +02:00
Konstantin Käfer
e67abfbe67 [core] Refactor OpenGL extension loading mechanism
Previously, we initialized global variables that held pointers to the extension functions. While this seemed to work, the spec doesn't guarantee that the function pointers are identical for different OpenGL contexts. Therefore, we are now making them a member variable of the Context object.
2017-03-23 14:50:11 -07:00
John Firebaugh
d7227e13a7 [all] Replace Result<T> with optional<T> plus out Error parameter 2017-03-23 13:31:13 -07:00
Konstantin Käfer
3c91b6b7de [core] cache binary shaders on Android 2017-03-22 15:59:10 +01:00
Blake Thompson
fb37f5e543 Added wagyu and removed angus clipper 2017-03-17 08:28:51 -07:00
John Firebaugh
0dca6cd9bf [core] Don't need to use normalized attributes anymore 2017-03-17 08:27:53 -07:00
Konstantin Käfer
aed3869cfa [build] move ABI version awareness to mason.cmake 2017-03-17 14:25:37 +01:00
Bruno de Oliveira Abinader
fc70cbf1e1 [core] Replace MapChange enum with MapObserver 2017-03-15 14:53:32 +02:00
Ivo van Dongen
96a53156c2 [core] don’t query rendered features until all data is available 2017-03-14 17:27:59 +02:00
Ivo van Dongen
0d10d2df1c [core] query source features 2017-03-09 13:11:23 -08:00
John Firebaugh
d5c2920104 [core] Extract and de-templatize several Program static methods 2017-03-09 10:32:34 -08:00
John Firebaugh
b83b14feb0 [core] De-duplicate shader prelude source 2017-03-08 13:49:24 -08:00
Asheem Mamoowala
60d10dd27d [core] Add support for queryRenderedFeatures filter 2017-03-04 15:42:07 -08:00
Anand Thakker
4b81c924cc [core] Log Memory.Footprint test results (#8170)
* Log Memory.Footprint test output

* On CI, only run Memory.Footprint test with libjemalloc
2017-02-28 14:11:35 -08:00