Commit Graph

5798 Commits

Author SHA1 Message Date
Thiago Marcos P. Santos
1ffe2dd615 Add a reference Valgrind suppresion file
When using Valgrind for debugging memory leaks and access violations, we
often see a lot of false positives, specially when dealing with OpenGL
that does it own buffer management. This file is an attempt to filter
these false positives.

Note that we are only filtering for the open source Radeon driver and
the list will probably grow to accommodate other setups.

To use the Valgrind with the suppression file for hunting memory leaks,
try something like:

valgrind --leak-check=full --track-origins=yes --suppressions=[path/to/valgrind.sup] ./mapbox-gl
2015-03-20 14:38:08 +02:00
Thiago Marcos P. Santos
ceb7049389 Delete the data buffer of LineAtlas
Data buffer is allocated but never deleted.
2015-03-20 14:38:08 +02:00
Thiago Marcos P. Santos
490c172b35 Delete the GLFWView object at exit
Also destroy the glfwWindow we create. This leak was probably harmless
but a nice cleanup helps us debug other serious memory leaks.
2015-03-20 14:38:08 +02:00
Konstantin Käfer
f73dfc73f1 make more things const and refs, and add mutexes 2015-03-20 13:14:00 +01:00
Mike Morris
993d760675 1.0.1 [publish binary] 2015-03-19 22:57:43 -04:00
Mike Morris
b5bc3cbce2 Merge pull request #104 from mapbox/changelog
add changelog
2015-03-19 22:56:56 -04:00
Mike Morris
d9494f7366 add changelog 2015-03-19 22:56:03 -04:00
Mike Morris
1f31518fe8 Merge pull request #103 from mapbox/env
adapt NodeFileSource around mbgl::Environment additions
2015-03-19 22:55:22 -04:00
John Firebaugh
645d1f3857 Delete unused code
This code appears to be unused and has not been kept in sync with style
spec changes.
2015-03-19 14:45:59 -07:00
Mike Morris
9a297051c7 adapt NodeFileSource around mbgl::Environment additions 2015-03-19 17:45:15 -04:00
Minh Nguyễn
1be8e6327b Prepared podspec for beta 1
This podspec was originally lifted from mapbox/mapbox-ios-sdk, which was structured and built quite differently. We could have the podspec build this repo as is, using scripts/package_ios.sh, but that would require developers to install the same version of Xcode as Travis is using (see #977). So this podspec instead pulls a prebuilt library. Much simpler.

Also package a LICENSE with the archive to satisfy a CocoaPods warning.

Fixes #829.
2015-03-19 14:40:44 -07:00
Mike Morris
d42076528e string literal is not instanceof String
JavaScript is dumb.
2015-03-19 17:07:52 -04:00
Minh Nguyễn
0cdf21c62d Merge pull request #1020 from mapbox/init-bundled-style
API for initializing with bundled style
2015-03-19 13:39:05 -07:00
Justin R. Miller
b4dbba93f8 bump iOS app version 2015-03-19 12:41:59 -07:00
Minh Nguyễn
3d195b467a Added API for initializing with bundled style
As a best practice for the beta and a workaround for #1014.

Also reversed the argument order of the existing init method. Reads better this way, but you’ll likely have to change your initialization to match the new signatures.
2015-03-19 10:29:04 -07:00
Mike Morris
ae7bd9ac6a Merge pull request #946 from friedbunny/931-fullwidth-block
Fix end of acceptable glyph/unicode range
2015-03-18 11:47:47 -04:00
Konstantin Käfer
1c276cbb76 Merge pull request #1015 from mapbox/log_scope
Scope threads to an Environment
2015-03-18 13:53:19 +01:00
Thiago Marcos P. Santos
3254cdc85c Log the Environment ID and the Thread name
To make it easier to debug, add the Environment ID and the Thread name
to the log messages. For instance log messages from the TileParser will look like:

[WARNING] {0}{TileWorker_15/18653/9486}[ParseTile]: some relevant warning message
   |       |             |                  |
   |       |             |                  +-> Component
   |       |             +--------------------> Thread name
   |       +----------------------------------> Environment ID
   +------------------------------------------> Severity level

Log messages that are not inside an Environment::Scope will work
normally and will look like:

[WARNING] [JNI]: some relevant warning message

Fixes #882.
2015-03-18 12:51:33 +01:00
Thiago Marcos P. Santos
66841bf7eb Add an ID to Environment
Environment will now have an incremental unique ID to that will
help distinguish between threads scoped to different Environments
when logging.
2015-03-18 12:51:33 +01:00
Thiago Marcos P. Santos
aa9adbb8f8 Scope the Tile worker thread to an Environment
We are also removing the code that is passing the Environment around
and instead, we get now the Environment in the TileData using
Environment::Get().

When processing the job, the work will be temporally registered to
the Environment as "TileWorker_0/0/0" which can be used for logging
in the future. At the end of the job, it gets unregistered
automatically from the Environment.
2015-03-18 12:51:33 +01:00
Thiago Marcos P. Santos
b5facd35bc Scope the Map thread to an Environment
Also, replace manual thread type checks with Environment::currentlyOn().
2015-03-18 12:51:33 +01:00
Thiago Marcos P. Santos
b52aab5f7c Introduce the ThreadInfoStore and Environment::Scope
The Environment will now keep track of every thread that is running
within a Environment::Scope. Once the Scope object is created, it will
automatically register the thread to the ThreadInfoStore with some
additional information and it will automatically deregister as the stack
frame rewinds (which can be useful for Threads that are temporally in
use by an Environment like Workers).

The ThreadInfoStore could be using the thread-local storage, but I think
that making the Environment aware of what threads are associated to it
can be useful for writing a mechanism for posting messages between threads.

Withing a Scope, the Environment associated to the thread can be queried
at any time which will save us from juggling a reference to the
Environemnt around. Finally, the type of thread (Main, Map, etc) can
also be queried at any moment to make sure a piece of code is running
on the desired thread.
2015-03-18 12:38:39 +01:00
Justin R. Miller
7b996012a5 Merge pull request #1012 from mapbox/1011-bundle
Look inside MapboxGL.bundle when present
2015-03-17 20:30:23 -07:00
Justin R. Miller
d47b29813e Merge pull request #1021 from mapbox/point-annotations-api
refs #893 #992: point annotations API
2015-03-17 20:01:38 -07:00
Justin R. Miller
93abf881fb feature() -> getFeature() to clear up ambiguity / Linux compiler error 2015-03-17 19:25:32 -07:00
Justin R. Miller
02cccfe7e8 properly clean up tile annotations on delete 2015-03-17 17:46:33 -07:00
Justin R. Miller
76f8a3d846 fix passing of annotation manager 2015-03-17 17:45:09 -07:00
Justin R. Miller
e049ce6df1 refs #893 #992: point annotations API 2015-03-17 17:30:24 -07:00
Brad Leege
1ce51a17e7 Merge pull request #1013 from mapbox/android-22
Update to latest API 22 build tools
2015-03-17 09:21:17 -05:00
Konstantin Käfer
36cee94e61 Merge pull request #843 from mapbox/843-fix-sprites
sprite images  missing on > 2.0 scale factors
2015-03-17 12:54:41 +01:00
Konstantin Käfer
48c55af5c1 fix sprites for pixel ratios that are not 1 and 2
- OpenGL ES 2 doesn't allow NPOT textures with wrap-around
- The Sprite object reported the map's pixelRatio, even though it loaded @2x assets
- Copying icons from the sprite into the atlas now uses bilinear scaling to scale up to the actual size
2015-03-17 12:30:40 +01:00
Leith Bade
9c907e78ac Update to latest API 22 build tools 2015-03-17 13:59:05 +11:00
Minh Nguyễn
3ba72da74f Look inside MapboxGL.bundle when present
Fixes #1011.
2015-03-16 16:22:16 -07:00
Minh Nguyễn
0b1faba369 Merge pull request #1009 from mapbox/1ec5-967-readme
Add iOS project setup walkthrough including dependencies
2015-03-16 15:12:15 -07:00
Minh Nguyễn
8548927f3b Added iOS project setup walkthrough
Lists the dependencies needed for linking.

Fixes #967.
2015-03-16 12:29:57 -07:00
Konstantin Käfer
0d8b3aa5f7 Merge pull request #1006 from mapbox/linux_build_fix
Link with X11 explicitly
2015-03-16 12:10:23 +01:00
Thiago Marcos P. Santos
d66b24f58f Link with X11 explicitly
We are using X11 symbols directly like XFree() so we need to link
with it explicitly. Previously these symbols were being resolved
somehow by libGL, but apparently they are now hidden - good - in
the custom version we are using since 5e40f72b7.

Fixes #1005.
2015-03-16 10:54:34 +02:00
samanpwbb
ffc937b184 center not lat lng 2015-03-14 23:25:46 -04:00
John Firebaugh
0c985c024b Revert "Move atlas ownership to Style"
This reverts commit bffee07154.
2015-03-13 13:05:32 -07:00
John Firebaugh
6325f1e25a Index glyph use by tile pointer value, not tile ID
There can be multiple tiles with the same ID, but from different
sources.

Fixes #957
2015-03-13 10:55:49 -07:00
John Firebaugh
96682a02af Remove unused declaration 2015-03-13 10:55:49 -07:00
John Firebaugh
998092e5b2 Remove needless indirection 2015-03-13 10:55:49 -07:00
John Firebaugh
762e4bdfbe Clean up GlyphAtlas 2015-03-13 10:55:49 -07:00
John Firebaugh
bffee07154 Move atlas ownership to Style
This follows gl-js and just makes sense -- whenever the style changes
the atlases should be blown away.

Refs #957
2015-03-13 10:55:47 -07:00
Mike Morris
99edf8eb72 fail if no error is emitted in gzip unhandled test 2015-03-13 13:08:09 -04:00
Mike Morris
0c745d6825 catch errors only in gzip tests, not all log messages 2015-03-13 13:07:59 -04:00
Mike Morris
c0c0f2667b accept string or array of strings for source url 2015-03-13 12:57:06 -04:00
Justin R. Miller
c36522e2a0 Merge pull request #1000 from mapbox/ios-set-classes
iOS setAppliedStyleClasses -> setStyleClasses
2015-03-13 09:10:27 -07:00
Justin R. Miller
bcc4c9e78d iOS setAppliedStyleClasses -> setStyleClasses 2015-03-13 08:02:02 -07:00
Konstantin Käfer
069505fe75 fix rare issue that had the notify and cancel callbacks called in the wrong order 2015-03-13 15:30:10 +01:00