Commit Graph

49 Commits

Author SHA1 Message Date
Konstantin Käfer
a4d259c33f [core] move gl::Context to Backend and refactor View 2016-10-25 13:52:36 -07:00
Konstantin Käfer
5cc390d694 [core] separate Backend from View for headless rendering 2016-10-25 13:52:36 -07:00
Mike Morris
817c26111a [core] [node] pass thread pool impl to Map constructor
Updates mbgl::Map constructor usage everywhere

Adds NodeThreadPool implementation using AsyncQueue to call
Nan::AsyncQueueWorker from main thread
2016-10-20 14:37:36 -04:00
Bruno de Oliveira Abinader
9946e60536 [test] Added TileCoordinate tests 2016-10-11 19:36:21 +03:00
John Firebaugh
5891c7028d Update mapbox-gl-shaders to 98a56d 2016-10-10 12:46:52 -07:00
John Firebaugh
21d7ee11e1 [core] Rationalize shader names
{layer type}{subtype}Shader
2016-10-06 14:47:58 -07:00
John Firebaugh
da4527cd3a [core] TextureRectVertex ⇢ SymbolVertex 2016-10-05 10:52:19 -07:00
John Firebaugh
9cf57e7142 [core] Make ElementGroup safer
Template on shader types, rather than count. This allows the compiler to enforce using the correct VAO for the shader and PaintMode. This fixes OverdrawMode with circle layers.

While here, avoid using unique_ptrs for groups. Instead, ensure ElementGroup is movable.
2016-10-05 10:52:19 -07:00
John Firebaugh
e4310aa874 [core] Improve attribute binding API 2016-10-05 10:52:19 -07:00
John Firebaugh
73334ac8fa [core] Move shader and uniform to gl directory 2016-10-05 10:52:19 -07:00
John Firebaugh
7a3bef091e [core] Refactor Buffer 2016-10-05 10:52:19 -07:00
John Firebaugh
31be5d3c3a [core] Tiles that error on load are not renderable 2016-10-05 10:26:04 -07:00
Thiago Marcos P. Santos
a38104ee22 [tests] Added benchmarks for querying for features 2016-10-05 11:12:16 +03:00
Thiago Marcos P. Santos
82b801250e [tests] Add unit tests for query features fiters 2016-10-05 11:12:16 +03:00
Thiago Marcos P. Santos
5829c0dbc6 [build] Re-add benchmark tests to the buildsystem
Probably lost on the cmake migration
2016-10-05 11:12:16 +03:00
Konstantin Käfer
07315711d6 [core] remove Raster object in favor of a more low-level Texture object 2016-10-04 14:00:30 -07:00
Ivo van Dongen
1bf12e20a6 [core] LocalFileSource implementation and tests 2016-09-30 14:57:26 +02:00
Konstantin Käfer
2ec2860ce5 [core] move OpenGL extension loading to their own headers 2016-09-29 13:19:27 -07:00
Konstantin Käfer
cc78b74098 [core] remove dependence on gl.h types 2016-09-29 10:17:47 -07:00
Thiago Marcos P. Santos
4ef66f36d4 [core] Use geojson as a header only library 2016-09-28 16:35:50 +02:00
Konstantin Käfer
3f3fc7b772 [test] add .test.cpp suffix to test case files 2016-09-28 16:34:22 +02:00
Konstantin Käfer
44c7e9d05e [core] merge gl::ObjectStore into gl::Context 2016-09-27 11:03:29 -07:00
Konstantin Käfer
ce42d22984 [core] rename gl::Config to gl::Context 2016-09-27 11:03:29 -07:00
Konstantin Käfer
21386b3146 [core] move GL value accessors to gl::value namespace 2016-09-27 11:03:29 -07:00
Konstantin Käfer
c88ce2d51e [core] add ability to render to offscreen textures 2016-09-27 10:42:10 +02:00
Konstantin Käfer
adcb449ff3 [core] make GL value defaults constexpr 2016-09-26 11:14:40 +02:00
John Firebaugh
dc1861f6d5 [core] Merge GlyphStore and GlyphAtlas 2016-09-19 09:40:43 -07:00
John Firebaugh
940124ff71 [core] Merge SpriteStore and SpriteAtlas 2016-09-19 09:40:43 -07:00
John Firebaugh
41bbd4e4f7 [core] Use an actor model for tile worker concurrency 2016-09-16 12:01:06 -07:00
John Firebaugh
a8dd1bbbb8 [core] Move SymbolInstance and SymbolFeature into their own files 2016-09-16 09:00:54 -07:00
John Firebaugh
1f375581c3 [core] Move {clip,merge}_lines to layout directory 2016-09-16 09:00:54 -07:00
John Firebaugh
c8217a8739 [core] Extract SymbolLayout from SymbolBucket
SymbolLayout lives on the worker thread and contains the persistent data needed for repeated placement. SymbolBucket contains the data generated during placement, and is transferred to the main thread for rendering.

This eliminates the risky sharing of GeometryTile::buckets between the main thread and worker thread during TileWorker::redoPlacement.

While here, rationalize the names of states a SymbolLayout may be in:

* Pending: Waiting for the necessary glyphs or icons to be available.
* Prepared: The potential positions of text and icons have been determined.
* Placed: The final positions have been determined, taking into account prior layers.

In TileWorker, all SymbolLayouts are stored in a single vector. Each SymbolLayout knows what state it is in, and TileWorker can easily determine how much progress it can make toward a final result.
2016-09-14 13:41:56 -07:00
Ivo van Dongen
290bd07a92 [core] OnlineFileSource - rate limit 2016-09-13 14:21:37 +02:00
Tobrun
4f23d0cda8 [core] - move wrap test (#6311) 2016-09-12 12:50:13 -07:00
John Firebaugh
e4995e8d3a [core] Extract WorkTaskImpl from run_loop.hpp 2016-09-08 16:36:47 -07:00
John Firebaugh
fe2a26225f [core, ios, android, qt] Observe style layer mutations rather than requiring SDKs to use Map::update
This paves the way for updates to filter and layout properties to trigger a source reload, without each SDK having to participate in the implementation.
2016-09-06 14:29:22 -07:00
John Firebaugh
5b8d90bf00 [core] Delete the now-unused ptr.hpp 2016-09-06 12:52:13 -07:00
Thiago Marcos P. Santos
7a2bfe32f8 [tests] Make it possible to disable tests on the CI
Useful for tests that depend on a good network connection and
you want to run manually.
2016-08-26 16:08:44 +03:00
John Firebaugh
6bbb2e4c2b [tests] Merge single test in set_style.cpp with other Map tests 2016-08-23 09:55:32 -07:00
Ivo van Dongen
df3b44531e [core] #6071 - extract GeoJSONOptions conversion from GeoJSONSource conversion
* [core] geojson_options - retain original error message

* [core] tests - initial style conversion stub methods

* [core] geojsonoptions conversion - initial unit tests

* [core] tests - fix forward reference issue

* [core] geojsonoptions conversion - unit tests

* [core] geojsonoptions conversion - renamed Holder to Value
2016-08-23 14:57:55 +02:00
Konstantin Käfer
e1a6795a73 [build] add CMake source groups to all targets 2016-08-22 19:14:51 +02:00
Konstantin Käfer
f4b4f978ec [build] convert build-version script from Python to Node.js 2016-08-16 15:29:34 +02:00
Konstantin Käfer
51391740bf [build] convert build-shaders script from Python to Node.js 2016-08-16 15:29:34 +02:00
Konstantin Käfer
131cd8a547 [build] Fix Qt4 build on OS X 2016-08-05 11:42:22 +02:00
Konstantin Käfer
95b6d48b71 [build] use cmake script bundled with Mason 2016-08-05 11:42:22 +02:00
Bruno de Oliveira Abinader
57bed88b03 [build] Copy 'ca-bundle.crt' for mbgl-glfw target 2016-08-05 11:42:22 +02:00
Thiago Marcos P. Santos
821e58fdc1 [build] Build Qt with CMake 2016-08-05 11:42:22 +02:00
Thiago Marcos P. Santos
4e5fc0d7a4 [build] Do not redefine MASON_PLATFORM 2016-08-05 11:42:22 +02:00
Konstantin Käfer
692fe1f3ff [build] switch to CMake
This is very much a work in progress.
2016-08-05 11:42:22 +02:00