Commit Graph

3712 Commits

Author SHA1 Message Date
Molly Lloyd
3b9c404233 [core] don't prefetch AnnotationTiles 2018-10-03 11:46:49 -07:00
Molly Lloyd
cec3eaa198 [core] fix flickering caused by incorrect ClipIDs
we missed a check for RenderTile.needsClipping when generating the new ClipIDs for some tiles, resulting in incorrect clipping that caused flickering in some cases
2018-10-03 11:46:49 -07:00
Bruno de Oliveira Abinader
f3c8b92286 [core] Read style's transition from parser 2018-10-03 10:19:17 -07:00
Bruno de Oliveira Abinader
19179e08bc [core] Do not constrain on X axis in ConstrainMode::HeightOnly 2018-10-02 06:16:13 -07:00
Konstantin Käfer
2ea0833ecf [core] don't break ascent in the overscaled tile phase
We optimize our updateRenderable algorithm by breaking ascent when we've already checked a certain tile. So far, we've compared the UnwrappedTileIDs, but they don't include the overscale component. When ascending through overscaled tile IDs, we've stopped the ascent too early, when we should've kept the search going.
2018-09-21 12:12:35 +02:00
Ander Conselvan de Oliveira
f49a9ca1de [core] Don't log GL renderer string on every context initialization
Commit 1c53dc9ca8 ([core] Refactor vertex array object extension
initialization) changed where the GL renderer string is checked in order
to prevent the vertex array extension initialization in certain
platforms and in doing so made the logging of that string more frequent,
once per context initialization instead of at most once per process.
This is a lot more verbose, specially when running unit tests, so make
sure that string is logged at most once as it was previously.
2018-09-21 09:45:35 +03:00
Chris Loer
bee9a544bf [docs] First uncompressed shader source diff 2018-09-19 16:19:28 -07:00
Chris Loer
f7a69d15ab [docs] Include uncompressed shader source in .cpp comments
This is meant to
(1) Make it easier for new developers to find the source
(2) Make it easier to look at shader diffs when the GL JS pin changes
2018-09-19 16:19:28 -07:00
Chris Loer
ab8b6b74dc [test] Bump gl-js pin. 2018-09-19 14:54:38 -07:00
John Firebaugh
2e93a9ddcf [core] For string-valued properties, do coercion rather than assertion 2018-09-19 14:54:38 -07:00
John Firebaugh
89b075f592 [core] Auto-convert concat arguments to strings 2018-09-19 14:54:38 -07:00
Molly Lloyd
80bdbebdfe [core] prevent crash when expression for pattern evaluates to "" (#12896)
when a source-expression like `["get", "property"]` evaluates to null and the default pattern value (empty string) is used, make sure attribute buffers get populated to avoid crashing the app
2018-09-18 17:31:44 -07:00
Ander Conselvan de Oliveira
68d463ec28 [core] Disable debugging extension when running on ANGLE over Direct3D
The ANGLE implementation of GL_KHR_debug on Direct3D seems to be broken
leading to a bad_alloc being thrown when running with a debug build, so
disable it in that platform.
2018-09-14 15:26:45 +03:00
Ander Conselvan de Oliveira
1c53dc9ca8 [core] Refactor vertex array object extension initialization
Currently the vertex object extension is disabled through an ifdef for
the Windows platform due to an issue with ANGLE, while there is a
blacklist for other platforms. Unify those by adding ANGLE to that
blacklist and some small refactoring.
2018-09-14 15:26:45 +03:00
John Firebaugh
20adb486f7 [core] Make "to-number" of null behave as documented 2018-09-13 15:55:34 -07:00
John Firebaugh
2c48b5a292 [core] Implement array assertion fallback behavior
This was added in gl-js in #7095.
2018-09-13 15:55:34 -07:00
John Firebaugh
c044dd88b2 [core] to-color should be idempotent
Ports https://github.com/mapbox/mapbox-gl-js/pull/7260.
2018-09-13 15:55:34 -07:00
John Firebaugh
df93047d40 [core] ["to-array", <item type>, <empty array>] should work for any item type
Ports https://github.com/mapbox/mapbox-gl-js/pull/7261.
2018-09-13 15:55:34 -07:00
Konstantin Käfer
071129bf61 [linux,qt] Remove remainder of WebP support 2018-09-13 13:27:44 +02:00
Bruno de Oliveira Abinader
5b1925d521 [core] Enable face culling for fill extrusion layers
Use face culling for fill extrusion layers. Winding order is changed to
ensure correct rendering.
2018-09-13 08:42:36 +03:00
Bruno de Oliveira Abinader
05a7b78aa8 [core] Add face culling mode parameter to Program::draw
Add a parameter to Program::draw to control whether face culling should
be enabled. This will be used in a follow up commit to enable face
culling for fill extrusion layers.
2018-09-13 08:42:36 +03:00
Chris Loer
d735d89835 [core] Port "collision group" plumbing to gl-native.
[node] Hook up map-wide "crossSourceCollisions" option, defaulting to true.
[test] Pass "crossSourceCollisions" test option through test harness; enable cross-source-collisions tests on native.
2018-09-12 14:10:46 -07:00
Konstantin Käfer
4a3c4edb59 [android] add support for gnustl 2018-09-11 11:43:54 +02:00
ryanhamley
31cca05fc6 Port symbol-z-order symbol layout style-spec property to Native 2018-09-07 13:05:19 -07:00
Chris Loer
5d8abb65e1 [core] Mark allow-overlap symbols visible even outside of collision grid.
Fixes issue #12683.
2018-09-06 08:51:33 -07:00
Molly Lloyd
d197fc7d8d [core] simplify dependency layout process and refactor data structures 2018-08-31 13:08:47 -07:00
John Firebaugh
f7dcd5d741 [core] Simplify GeometryTileWorker
* The worker no longer needs to maintain symbol layer order.
* No need for separate symbolLayoutsNeedPreparation state. That dates back to when we had "two phase" symbol layout. Now we can just check symbolLayouts.empty(). (Similarly for pattern layouts.)
* No need to loop over symbol layouts twice in performSymbolLayout. Same reason as above.
* Simplify iconAtlas initialization. It initialized via every possible branch, so just do it up front.
2018-08-31 13:08:47 -07:00
Molly Lloyd
7b3edb6109 [core] remove redundant Uniform::Type alias 2018-08-31 13:08:47 -07:00
Molly Lloyd
4a5dc37245 [core] Implement CrossFadedDataDrivenProperty to add support for feature expressions in *-pattern properties 2018-08-31 13:08:47 -07:00
Konstantin Käfer
ec62e32153 [core] move PaintProperty::Attribute to TypeList and pass to Binder constructors 2018-08-31 13:08:47 -07:00
Konstantin Käfer
5e9bbfdd44 [core] introduce TypeListConcat and TypeList::ExpandInto 2018-08-31 13:08:47 -07:00
Konstantin Käfer
748e6bde5f [core] allow passing multiple AttributeTypes to a PaintPropertyBinder 2018-08-31 13:08:47 -07:00
Konstantin Käfer
f97ba60da4 [core] rename gl::Attribute to gl::Attribute to remove overloaded naming 2018-08-31 13:08:47 -07:00
Konstantin Käfer
abc5043339 [core] simplify attribute/location types 2018-08-31 13:08:47 -07:00
Julian Rex
361d83af54 [core] Added pragma to remove warning ("unknown warning group '-Wtautological-constant-compare', ignored") on iOS build (#12753) 2018-08-28 12:15:02 -04:00
Asheem Mamoowala
fcab3a81cd Add unit tests and fixtures for OfflineDatabase::mergeDatabase 2018-08-28 07:14:54 -07:00
Konstantin Käfer
30272924a9 [node] capture invalid input data as ParseError objects
This allows us to distinguish them from other types of errors
2018-08-27 14:07:40 -07:00
Mikhail Pozdnyakov
fb5afd34b9 [core] Add line-gradient property
Porting of https://github.com/mapbox/mapbox-gl-js/pull/6303
See the link above for the description of the feature and
its limitations).

Based on patch from @lbud (Lauren Budorick).
2018-08-23 19:01:40 +03:00
Justyna Janczyszyn
c83012f66a fixed validation message for bounds 2018-08-22 17:26:48 +02:00
Chris Loer
33cd094d85 [core] fix icon-size for small data-driven values
port of mapbox/mapbox-gl-js#7125
2018-08-21 22:02:51 -07:00
Chris Loer
b0fcca5879 [core, node] Re-implement "avoid edges" behavior for MapMode::Tile
- Fixes issue #12461.
 - Only implement "avoid edges" in MapMode::Tile since it's no longer relevant in Static or Continuous mode.
 - New: Force "avoid edges" to "true" for line labels, since in tile mode they'll always clip poorly at tile boundaries.
 - Remove unused "withinPlus0/inside" logic.
2018-08-20 10:50:05 -07:00
Konstantin Käfer
1b4398f7aa [core] downgrade event severity for erroneous DDS rendering to Warning 2018-08-20 18:05:33 +02:00
Konstantin Käfer
112bbc7ab2 [core] make style/conversion.hpp implementation private 2018-08-19 13:09:16 +02:00
John Firebaugh
8ca419fb2e [core] Evict unused font stacks from GlyphManager 2018-08-17 09:38:39 -07:00
Chris Loer
20f880ebec [core] Fix querying for annotations near tile boundaries at high zoom.
Fixes issue #12472.
This commit doesn't address the underlying issues that come from symbolAnnotationTree using a slightly lower precision coordinate system than the annotations themselves.
Instead, it just puts a small padding around each tile when it queries for tile data, so that symbols right at the tile boundary will be included in both tiles.
The rendering/querying code will take care of only displaying one instance.
The padding is in global coordinates, so at higher zoom the padding will be larger in tile units -- this is consistent with precision loss also being greater at higher zoom.
2018-08-14 12:35:50 -07:00
Vladimir Kondrashov
9ecb0997ef [core] Fix out of range exception for string compare 2018-08-14 11:16:10 -07:00
Chris Loer
41d5768f58 [core] Don't default-show text/icons that depend on the placement of a paired icon/text
Fixes issue #12483.
2018-08-13 14:31:30 -07:00
John Firebaugh
d886d3e4c0 [core] Factor out setVisibility conversion 2018-08-13 12:39:44 -07:00
John Firebaugh
58202eaf80 [core] Optimize generated set{Paint,Layout}Property code 2018-08-13 12:39:44 -07:00
John Firebaugh
b2f60a4bf2 [core] Eliminate setProperty & co. 2018-08-13 12:39:44 -07:00