Commit Graph

10728 Commits

Author SHA1 Message Date
John Firebaugh
fe024bbdf6 [core] Implement "smart setStyle" 2017-06-15 07:43:51 -07:00
John Firebaugh
5a87291826 [core] Obey "transition" property from style and its default value 2017-06-15 07:43:51 -07:00
John Firebaugh
ae5b0391b6 [core] Skip calculations when we already know we need rendering or layout 2017-06-15 07:43:51 -07:00
Minh Nguyễn
2f83b32e95 [ios] Sprite images no longer limited
The total size of the sprite sheet is no longer limited as it was before. This change updates the guide that helps developers choose between the different annotation mechanisms.
2017-06-14 11:18:17 -07:00
John Firebaugh
f3bb99f919 [core] Eliminate constant attribute bindings
Rather than binding constant attributes that will never be used, just disable the attribute.
2017-06-14 11:14:05 -07:00
Konstantin Käfer
7a3f7980b0 [core] rename a_gap_width => a_gapwidth, u_gap_width => u_gapwidth to reflect naming in the shader
not sure how this ever worked
2017-06-14 11:14:05 -07:00
John Firebaugh
174408ed11 [core] Remove unused SymbolPropertyValues members 2017-06-14 11:14:05 -07:00
John Firebaugh
fd45242d05 [core] Don't use "current" icon/text-size when binding
The current value is not passed to `SymbolSizeBinder::uniformValues`, so we shouldn't check `currentValue.isConstant()` in `SymbolSizeBinder::attributeBindings`. If it were true, then we might end up using attribute bindings that are appropriate only for a constant property, but uniform bindings that are appropriate only for a source or composite function.

Instead, just wait for a new bucket to be generated. This will happen automatically, since icon/text-size are layout properties.
2017-06-14 11:14:05 -07:00
Bruno de Oliveira Abinader
12279b5dcc [glfw] Added extrusions (E) and route (R) shortcuts 2017-06-14 16:39:07 +03:00
John Firebaugh
5e0018cdc3 [core] Add consts 2017-06-13 14:35:13 -07:00
John Firebaugh
8902e28e9b [core] Don't upload the FrameHistory texture in frames where it's not changing 2017-06-13 14:35:13 -07:00
John Firebaugh
9d276f3b0f [core] Dynamic program compilation for data-driven properties 2017-06-13 12:21:50 -07:00
Konstantin Käfer
18b50f51b4 [core] cleanup ProgramParameters 2017-06-13 12:21:50 -07:00
Konstantin Käfer
1708b297a7 [core] add constant DDS values as uniforms 2017-06-13 12:21:50 -07:00
Konstantin Käfer
2c6fcd9f44 [core] add uniforms to DataDrivenPaintPropertys 2017-06-13 12:21:50 -07:00
Konstantin Käfer
2cbc3d3332 [core] add shader defines for enabling/disabling attributes/uniforms for DDS 2017-06-13 12:21:50 -07:00
Konstantin Käfer
978363a47f [core] only bind uniforms that exist in the program 2017-06-13 12:21:50 -07:00
Konstantin Käfer
7f8f75b1c9 [core] verify that the active uniform types match our assumed types 2017-06-13 19:21:46 +02:00
Konstantin Käfer
9a05ebac52 [core] store vertex attribute binding to prevent duplicate binds
We have an "oldBinding" value that we use for checking whether the vertex attribute was already
bound to the current VAO, but we never set the state. Additionally, we're also checking whether
the previous state was already any binding (optional is set), and don't re-enable the vertex
attribute array. Additionally, we now only disable the vertex attribute array when the previous
state was in fact an array attribute. We still don't deduplicate constant glVertexAttrib* calls,
but that's a little trickier.
2017-06-13 19:21:20 +02:00
John Firebaugh
bb544136f3 [core] Update to shelf-pack 2.1.0 2017-06-13 10:18:43 -07:00
John Firebaugh
244819f2da [core] Remove unused binpack.hppp 2017-06-13 10:18:43 -07:00
John Firebaugh
3270440f23 [core] Per-tile glyph/icon atlases 2017-06-13 10:18:43 -07:00
John Firebaugh
f610e9bef9 [tests] Test updating icon and pattern images 2017-06-13 10:18:43 -07:00
John Firebaugh
0b68731207 [core] Per-bucket icon atlases 2017-06-13 10:18:43 -07:00
John Firebaugh
92252849c1 [core] Per-bucket glyph atlases 2017-06-13 10:18:43 -07:00
John Firebaugh
b201a7900f [core] glPixelStorei is in OpenGL ES 2 2017-06-13 10:18:43 -07:00
John Firebaugh
f5d3b850bf [core] Merge RenderLayer::uploadBuckets into RenderSource::startRender 2017-06-13 10:18:43 -07:00
John Firebaugh
17db460345 [core] Parallelism in {start,finish}Render parameters 2017-06-13 10:18:43 -07:00
John Firebaugh
31bf6719fc [core] Reduce number of varyings to 8 or less
For #pragmas, don't generate varyings for attributes that aren't used by the fragment shader. Pack other varyings more tightly.
2017-06-13 08:41:39 -07:00
Tobrun
5a2dd1b5df [android] - snapshot bitmap contains view based content (#9252) 2017-06-13 15:23:31 +02:00
Bruno de Oliveira Abinader
a05f060153 [core] Added Backend::{assume,set}ScissorTest 2017-06-13 13:37:41 +03:00
Bruno de Oliveira Abinader
28eb2e6354 [core] Added Backend::{assume,set}Viewport 2017-06-13 13:37:41 +03:00
Ivo van Dongen
672ba516f2 [core] mutex guard annotation manager for cross thread usage 2017-06-13 10:15:53 +03:00
Tobrun
f1598ff07e [core] - bump earcut version dependency to handle unused lamba warning (#9242) 2017-06-12 14:35:08 +02:00
Konstantin Käfer
f570b60096 [build] try out Android NDK 15 beta 2 2017-06-12 14:35:08 +02:00
Anand Thakker
f59eb822e1 Fix undefined memory access in getCoveringRanges() (#9227)
* Add simple unit tests for SymbolSizeBinder

* Fix bug in symbol size uniform value calculation

For camera functions we were setting the zoom levels in "covering ranges" to
`[(zoom stop <= tile zoom), (zoom stop >= 1 + tile zoom)]`, but then evaluating
the function at `[tile_zoom, tile_zoom + 1]`.

* Check for it != end() before accessing it->first
2017-06-09 06:28:14 -04:00
Bruno de Oliveira Abinader
66c2a2a0b7 [glfw] Assume implicit backend in GLFWView::onFramebufferResize 2017-06-08 16:31:31 +03:00
John Firebaugh
37870b69ae [ios] Bench should be run in Release configuration 2017-06-07 09:29:08 -07:00
Ansis Brammanis
c878f5f7da fix #8300 flyTo for close points (#9199)
The isClose threshold is switched from 0.000001 pixels to 1 pixel.
As a backup, it checks whether r0 and r1 are finite. It might be
possible to have just the threshold check or just the finiteness check,
but I don't see the harm in having both.

std::abs(w0 - w1) < 0.000001 is removed because it doesn't look like
it's needed. All calculations should run fine even if w0 === w1.

Finally, the point interpolation is tweaked so that at the end of the
flying (when k === 1) it ends up at the exact end point. I didn't see
any bugs related to this, but it seems like a good thing to have
explicitly.
2017-06-06 16:31:12 -04:00
Bobby Sudekum
15791b5869 [node] bump version (#9196) 2017-06-06 09:18:49 -07:00
Tobrun
0bd1b820f6 [android] - remove upgrade runtime exceptions (#9191) 2017-06-06 09:21:18 +02:00
John Firebaugh
99e71fe63b [docs] Update ARCHITECTURE.md for immutability and RenderStyle split 2017-06-05 19:38:08 -07:00
John Firebaugh
5d5f9405b4 [core] Named members for diff before/after 2017-06-05 19:38:08 -07:00
John Firebaugh
9dfc2d924d [core] Collection-level immutability
Introduce a second level of immutability, over each of the collections held by a style: sources, images, and layers. Tracking immutability at this level allows us to short-circuit significant portions of the RenderStyle update logic via a simple equality check, greatly improving performance.
2017-06-05 19:38:08 -07:00
John Firebaugh
97eb62fe7c [core] Don't share TransformState reference 2017-06-05 19:38:08 -07:00
John Firebaugh
f983c2716b [core] Fix several bugs in AnnotationManager 2017-06-05 19:38:08 -07:00
John Firebaugh
74af076d40 [core] Split RenderStyle from Style 2017-06-05 19:38:08 -07:00
John Firebaugh
1cf46d93b9 [core] Simplify LayerObserver API 2017-06-05 19:38:08 -07:00
John Firebaugh
591af0021b [core] Refactor RenderSource updates
* Eliminate updateBatch in favor of diffing layers and detecting changes to properties upon which layout depends.
* Replace RenderSource::{update,remove,invalidate,reload}Tiles with a single update method
* Replace TilePyramid::{update,remove,invalidate,reload}Tiles with a single update method
* Remove Style& dependency TODO from GeometryTile and TileParameters
2017-06-05 19:38:08 -07:00
John Firebaugh
32589c271c [core] Thread Style parameter through queryRenderedFeatures 2017-06-05 19:38:08 -07:00