Commit Graph

5798 Commits

Author SHA1 Message Date
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
John Firebaugh
b713930c7f Merge branch 'uv_leak' 2015-05-01 18:24:58 -04:00
John Firebaugh
4c8f716f20 Eliminate uv::async leak (fixes #1393) 2015-05-01 18:13:35 -04:00
John Firebaugh
24695f6c02 More bandaids to avoid #1309
Even though we only bind the shared_ptr in the after callback, the
worker thread was still copying the callback and therefore gaining
a shared reference. Here we try to eliminate the copies.
2015-05-01 17:14:06 -04:00
John Firebaugh
dac4b7d3c9 Reset previous style before creating new one
This ensures that the worker threads associated with the
style are joined before new worker threads are launched.
I don't know exactly why, but it seems to fix #1384.
2015-05-01 16:29:06 -04:00
John Firebaugh
415bc8bb74 Merge pull request #1397 from mapbox/clang-3.6
Fix compile with clang-3.6
2015-05-01 14:35:17 -04:00
John Firebaugh
36f695b411 Write SQLite tests in terms of Impl 2015-05-01 14:31:39 -04:00
Dane Springmeyer
74604af9c5 fix compile with clang-3.6 2015-05-01 11:00:01 -07:00
John Firebaugh
51c0695028 Replace unsafe use of future with packaged_task 2015-05-01 12:07:34 -04:00
John Firebaugh
09496737eb Merge pull request #1392 from mapbox/valgrind
Fix some bugs found via valgrind
2015-05-01 10:17:44 -04:00
John Firebaugh
2d8d375356 Fix intended identity comparisons 2015-05-01 10:06:04 -04:00
John Firebaugh
bb3eb8d83d Fix uninitialized variable 2015-05-01 10:06:04 -04:00
Justin R. Miller
e3c310e80f [publish ios-v0.2.19] 2015-05-01 09:38:14 -04:00
Justin R. Miller
3b9a7c5036 bump podspec to 0.2.19 2015-05-01 09:37:17 -04:00
Minh Nguyễn
93f62188ea Merge pull request #1292 from mapbox/1266-slippy
Slip and slide
2015-05-01 00:49:01 -04:00
Minh Nguyễn
5e6bf19144 Fixed build errors from merge
Follow-up to cf33edf16d.
2015-05-01 00:37:51 -04:00
Justin R. Miller
cf33edf16d Merge branch 'master' into 1266-slippy 2015-05-01 00:06:47 -04:00
Justin R. Miller
6743e22230 [publish ios-v0.2.18] 2015-04-30 23:05:56 -04:00
Justin R. Miller
e0a4fb2fca bump podspec to 0.2.18 2015-04-30 23:05:12 -04:00
Ansis Brammanis
ed9ef0f7d1 fix pixelForLatLng during animated zoom
fix #1160
2015-04-30 16:03:35 -07:00
Justin R. Miller
c69e985fa5 fixes #1102: implement reference-counted shared file cache vendor 2015-04-30 17:52:42 -04:00
Justin R. Miller
8192d2ed10 Merge pull request #1386 from mapbox/1103-no-clobber-pointers
fixes #1103: allow multiple maps by not using global pointers
2015-04-30 17:27:38 -04:00
Minh Nguyễn
5780b676b0 Fixed iOS 7 test breakage and crash from #1382
These APIs were introduced in iOS 8+, hence the `-respondsToSelector:` check. But I saw that, thinking it was just redundant, and removed it in #1382, leading to a crash on launch on iOS 7.
2015-04-30 16:02:20 -04:00
Jason Wray
812448f830 Merge pull request #1370 from mapbox/compass-1x
Antialias compass.png N text
2015-04-30 14:28:29 -04:00
Minh Nguyễn
34e43f73bc Merge pull request #1382 from mapbox/1ec5-events-nits
Formalize NSURLSession lifetime; streamline MGLMetricsLocationManager methods
2015-04-30 14:19:50 -04:00
John Firebaugh
6197763780 Merge branch '1368-http-request-crash' 2015-04-30 14:18:14 -04:00
Brad Leege
facbdae3e8 Merge pull request #1383 from mapbox/1381-accuracy-throttle
Throttling The Requested Accuracy Level Down
2015-04-30 14:11:59 -04:00
Justin R. Miller
858bb5dbe4 fixes #1103: allow multiple maps by not using global pointers 2015-04-30 14:08:46 -04:00
John Firebaugh
f3f3e1b443 Copy resource
Fixes #1368
2015-04-30 12:55:36 -04:00