Commit Graph

3837 Commits

Author SHA1 Message Date
Konstantin Käfer
fab65e75d0 Merge pull request #1380 from mapbox/benchmark
Add benchmarking application for iOS
2015-05-05 12:14:20 +02:00
Konstantin Käfer
5aa0caf5c5 don't trigger cleanups when we're not rendering 2015-05-05 11:53:23 +02:00
Konstantin Käfer
24083c582c [iOS] add benchmarking application 2015-05-05 11:53:20 +02:00
Konstantin Käfer
691c305467 add Map::isFullyLoaded()
returns whether the Map is still loading/parsing any assets or whether everything is there and a render will likely be complete
2015-05-05 11:47:23 +02:00
Konstantin Käfer
248e48eacc decode URLS when loading from file system 2015-05-05 11:47:23 +02:00
Konstantin Käfer
4cf3d4ef9f show failed glyph URL 2015-05-05 11:47:22 +02:00
Konstantin Käfer
286338c978 [iOS] send map rendering notifications 2015-05-05 11:47:22 +02:00
Konstantin Käfer
307ad680ba [iOS] allow calling invalidate() on MGLMapView 2015-05-05 11:47:16 +02:00
Konstantin Käfer
efec7b2c12 Merge pull request #1418 from mapbox/1418-correct-aspect-ratio-after-rotation
Screen stretched on rotation
2015-05-05 11:41:45 +02:00
Konstantin Käfer
63bb10a06b apply the framebuffer size before calling updateMatrices() 2015-05-05 11:16:02 +02:00
John Firebaugh
24a0d77c83 Merge pull request #1419 from mapbox/strict-pause
Ensure no GL commands are executed after pause
2015-05-04 18:40:07 -07:00
John Firebaugh
00a1f44cfc Ensure no GL commands are executed after pause 2015-05-04 18:27:48 -07:00
John Firebaugh
da8aaa2114 Update a couple more spots in README with new requirements 2015-05-04 16:47:05 -07:00
Justin R. Miller
a2e481eb74 Merge pull request #1415 from mapbox/1413-install-ios-docs
refs #1413: provide iOS docs with binary download
2015-05-04 16:42:26 -07:00
Justin R. Miller
150c695177 use brew git to get tag flag needed 2015-05-04 16:28:41 -07:00
Justin R. Miller
33b1b0a47b improvements to source install docs script 2015-05-04 16:07:29 -07:00
Justin R. Miller
af8f060a0d missing docs tuneups 2015-05-04 16:07:16 -07:00
Justin R. Miller
8151a1e17f add HTML docs generation to iOS packaging script 2015-05-04 16:07:08 -07:00
John Firebaugh
b952f7e64b Merge pull request #1412 from mapbox/1309-another-try
Ensure worker tasks are complete before destroying TileData
2015-05-04 15:55:54 -07:00
John Firebaugh
5c7867f435 Join worker tasks before destroying TileData
Fixes #1309
2015-05-04 15:09:19 -07:00
Justin R. Miller
c2858dd45f update iOS 8.x target mention 2015-05-04 12:28:22 -07:00
Justin R. Miller
6663a94917 iOS tests docs fixes 2015-05-04 12:16:18 -07:00
John Firebaugh
e476fcbf3b C++14 2015-05-04 12:01:15 -07:00
John Firebaugh
ec3fb8880f Build with clang 3.5 2015-05-04 12:01:15 -07:00
John Firebaugh
2b0892aaaa Build with gcc 4.9 2015-05-04 11:59:39 -07:00
Brad Leege
fef58d624f Merge pull request #1411 from mapbox/1410-one-kilometer
One Kilometer Desired Accuracy
2015-05-04 13:54:07 -05:00
Brad Leege
f4e2cccf0b #1410 - Switching Metrics Location Manager's desiredAccuracy to 1 Kilometer from 3 Kilometers 2015-05-04 13:33:42 -05:00
Minh Nguyễn
0a03f8bf5e Merge pull request #1400 from mapbox/1ec5-disable-events-163
Avoid creating MGLMapboxEvents when Metrics is disabled
2015-05-04 14:01:10 -04:00
Konstantin Käfer
539d1be219 Merge pull request #1325 from mapbox/1325-simplify-render-path
Simplify render path
2015-05-04 17:49:26 +02:00
Konstantin Käfer
27d8e82e1c lower thread priority of worker threads 2015-05-04 17:33:05 +02:00
Konstantin Käfer
7390062c45 check for errors 2015-05-04 17:33:05 +02:00
Konstantin Käfer
99ad8a4036 fix needsUpload() 2015-05-04 17:33:05 +02:00
Konstantin Käfer
78073d6fdd don't reallocate the Glyph atlas too often
- previously, we reallocated the glyph atlas on every upload. Instead, we're now using glTexSubImage2D to reuse the existing buffer
- we're no longer forcing a texture upload when we remove glyphs; they won't be rendered anyway
- we're now only doing a texture upload once per frame; previously, worker threads that added glyphs mid-render could trigger a texture upload while rendering is in progress
2015-05-04 17:33:05 +02:00
Konstantin Käfer
72964f5bef only update GL state when it actually changed 2015-05-04 17:33:05 +02:00
Konstantin Käfer
914b6f01f8 add gl::groups back for easier debugging in Xcode 2015-05-04 17:33:05 +02:00
Konstantin Käfer
f89f7f1bc2 rename prepare => upload and determine passes per layer instead of per bucket 2015-05-04 17:33:05 +02:00
Konstantin Käfer
c43016ce6c make sure we always to a full upload after sprite atlas resizes
We always need to do a full upload to adjust the image buffer size when we adjust the size of our sprite atlas. This can happen when we change the pixelRatio of the map we're rendering.
2015-05-04 17:33:05 +02:00
Konstantin Käfer
97a22b6f5f upload all GL objects before rendering a frame
This moves all texture updates and buffer uploads to the beginning of every frame, before we issue any drawing commands. This means the GPU typically has much more time to upload the data in the background until we actually need it, and doesn't have to pause to store/load the framebuffer.
2015-05-04 17:33:05 +02:00
Konstantin Käfer
28b9b3f9d6 add prepare() function 2015-05-04 17:33:04 +02:00
Konstantin Käfer
839b19330e remove hasData() from Bucket interface 2015-05-04 17:33:04 +02:00
Konstantin Käfer
c891df0b5f add upload API to gl objects 2015-05-04 17:33:04 +02:00
Konstantin Käfer
5beb635028 create the tile list statically 2015-05-04 17:33:04 +02:00
Konstantin Käfer
5f496d8f0c build render order array once instead of recursing through lots of different objects 2015-05-04 17:33:04 +02:00
Dane Springmeyer
c6be708623 Merge pull request #1406 from mapbox/coverity-fixes
Fix integer division in transform.cpp
2015-05-03 23:49:19 -07:00
Dane Springmeyer
cfa2eaf5c2 fix more 'result is not floating point' coverity warnings 2015-05-03 23:28:52 -07:00
Dane Springmeyer
33f30aae93 fix integer division to work in doubles in transform.cpp 2015-05-03 23:23:13 -07:00
John Firebaugh
aa19f07ccf RunLoop must outlive Object
~Object is likely to join threads that want to dispatch results
back to this RunLoop. This happens, for example, when MapContext
is destructed: it joins the worker threads, which need to complete
work before shutting down.
2015-05-02 12:57:25 -04:00
Minh Nguyễn
98dc0b6f81 Avoid creating MGLMapboxEvents when Metrics is disabled
Mapbox Metrics already has a bottleneck; might as well use it to avoid fetching data in the first place.
2015-05-01 19:24:14 -04:00
John Firebaugh
5013be138e Fix CURL handle leak (fixes #1394) 2015-05-01 18:48:07 -04:00
John Firebaugh
5475f3138b Fix potential crash
The promise could be deallocated before promise.set_value() had returned,
which apparently caused an invalid read on some implementations.

By moving the promise declaration up the stack, we ensure that the map is
deallocated first, and therefore the map thread is joined, before the
promise is deallocated.
2015-05-01 18:25:41 -04:00