summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [android] Force previously cached program binaries to be regeneratedJohn Firebaugh2017-07-121-0/+1
|
* [core] Pass correct sources to programIdentifierJohn Firebaugh2017-07-121-10/+6
|
* [core] No need for optional in map of VertexArraysJohn Firebaugh2017-07-123-10/+9
|
* [core] Add comments explaining typing of AttributeLocation and UniformLocationJohn Firebaugh2017-07-121-0/+8
|
* [core] Reduce memory requirements of VertexArraysJohn Firebaugh2017-07-124-12/+34
|
* [core] Remove segment.cppJohn Firebaugh2017-07-121-7/+0
|
* [core] Use a type alias for SegmentVectorJohn Firebaugh2017-07-121-4/+1
|
* [core] Per-segment-per-layer vertex arraysJohn Firebaugh2017-07-1213-27/+61
| | | | Reduces rebinding, matches gl-js, and works around the buggy VAO implementation on PowerVR SGX544 GPUs.
* [core] Rework attribute binding (again)John Firebaugh2017-07-1230-302/+357
| | | | | | | | | | These changes are necessary for programs whose set of active attributes is not fixed at compile time by a template parameter pack, but rather varies based on the generated shader text at runtime. In such cases, the attribute location of a given named attribute may vary between instances of the same Program. Previously, attribute bindings were implicitly associated with a location based on template parameter order, and -1 was used to indicate an inactive attribute. This left us unable to disable the appropriate attribute when it went from active to inactive. Now, the state tracker for bindings explicitly associates locations and state, and an empty optional is used to indicate an inactive attribute. In addition, a gl::VertexArray class is now exposed, allowing more flexibility in the relationship between Programs, Segments, and attribute bindings. In this commit, that relationship does not change, but the subsequent commit adjusts it to match gl-js, reduce rebinds, and work around buggy VAO implementations. VertexArray uses a pimpl idiom in order to support implementations that lack the VAO extension. In that case, all VertexArrays share global binding state, reflecting the platform reality in the absence of VAOs, while still providing a uniform API.
* [core] Inline getActiveAttributes detailsJohn Firebaugh2017-07-121-25/+11
|
* [core] Include what you useJohn Firebaugh2017-07-123-1/+3
|
* [core] Update shaders.Chris Loer2017-07-128-7/+75
| | | | | Implements 'icon-pitch-alignment' (issue #9345) Fixes issue #9456 (map-aligned point label regression)
* [core] Base label "keep-upright" orientation on start and end of labelChris Loer2017-07-121-18/+76
| | | | Fixes issue #9457.
* [core] GCC 4.9 bracket initialization issuesBruno de Oliveira Abinader2017-07-126-8/+10
|
* [core] GCC 4.9 is unable to deduce ctors when using bracket initBruno de Oliveira Abinader2017-07-124-10/+96
|
* [core] Added missing header includesBruno de Oliveira Abinader2017-07-121-0/+1
|
* [core] Added MBGL_CONSTEXPR to satisfy GCC 4.9Bruno de Oliveira Abinader2017-07-124-12/+16
|
* [core] GCC 4.9 shadow member warningsBruno de Oliveira Abinader2017-07-122-4/+4
|
* [core] GCC 4.9 does not fully support custom variable templatesBruno de Oliveira Abinader2017-07-122-13/+12
|
* [core] Use gmtime_s on WindowsThiago Marcos P. Santos2017-07-121-2/+9
| | | | gmtime_r is POSIX
* [core] Use std::to_string on WindowsThiago Marcos P. Santos2017-07-122-1/+14
| | | | Clang on Window's can't parse rapidjson's dtoa.
* [core] Prefer std:: functions over POSIXThiago Marcos P. Santos2017-07-121-4/+2
| | | | s/unlink/std::remove
* [core] add static asserts for more gl constantsAnsis Brammanis2017-07-114-6/+53
| | | | and rename BufferUsageType to BufferUsage
* [core] port pitch-label collision hackAnsis Brammanis2017-07-114-20/+50
| | | | https://github.com/mapbox/mapbox-gl-js/pull/4781/commits/81363951ed56c54f331ffc8d88e4e5079226a224
* [core] improve legibility of labels that follow linesAnsis Brammanis2017-07-1128-716/+714
| | | | | | | | | | port https://github.com/mapbox/mapbox-gl-js/pull/4781 This improves legibility of labels that follow lines in pitched views. The previous approach used the limited information in the shader to calculate put the glyph in approximatelyright place. The new approach does this more accurately by doing it on the cpu where we have access to the entire line geometry.
* [core] fix transformMat4Ansis Brammanis2017-07-111-4/+5
| | | | | It used to overwrite values in the middle of the calculation which would cause problems when `out` and `a` were a reference to the same vector.
* [core] Hold on to tile yStretch value for rendering old symbolBuckets while ↵Chris Loer2017-07-112-2/+10
| | | | waiting for new ones.
* [core] Change OverscaledTileID to also include a "wrap" value.Chris Loer2017-07-113-26/+23
| | | | | This prevents TilePyramid from sharing wrapped copies of tiles. This is necessary because two wrapped tiles no longer share the same CollisionTile.
* [core] Limit symbol re-placement on changed tile distance to pitch > 25.Chris Loer2017-07-111-1/+7
|
* [core] Re-generate shaders.Chris Loer2017-07-113-89/+184
|
* [core] Use fade texture in collision debug boxes so that they agree more ↵Chris Loer2017-07-114-3/+5
| | | | closely with symbol shaders.
* [core] Set "max_camera_distance" to 1.5 for viewport-aligned road labels.Chris Loer2017-07-113-3/+19
| | | | Viewport-aligned curved labels start to look very strange in the distance. Until we have a better system for projecting them, just prevent them from showing.
* [core] Enable tile clipping for collision boxes.Chris Loer2017-07-111-1/+1
| | | | Necessary because collision boxes now change shape based on while tile they're part of.
* [core] Extend collision feature boxes to accommodate potential pitch-scaling.Chris Loer2017-07-111-8/+49
|
* [core] Pass pitch-scaling vertex attributes and uniforms to shaders.Chris Loer2017-07-119-21/+53
|
* [core] Improved label pitch-scaling: approximate collision box shapes based ↵Chris Loer2017-07-1111-25/+82
| | | | on tile distance from camera.
* [build] Don't use maybe-uninitialized and misleading-indentation in Clang, ↵Konstantin Käfer2017-07-112-0/+4
| | | | since they're not implemented there
* [core] Isolate pthread-based tls implementationThiago Marcos P. Santos2017-07-071-34/+10
|
* [core] Fix conditional unitialized jump on RenderGeoJSONSourceThiago Marcos P. Santos2017-07-071-1/+1
| | | | | | | | | | | | | | | | | | | ``` ==24942== Conditional jump or move depends on uninitialised value(s) ==24942== at 0x7D943D: mbgl::RenderGeoJSONSource::update(mbgl::Immutable<mbgl::style::Source::Impl>, std::vector<mbgl::Immutable<mbgl::style::Layer::Impl>, std::allocator<mbgl::Immutable<mbgl::style::Layer::Impl> > > const&, bool, bool, mbgl::TileParameters const&) (in /home/tmpsantos/Projects/mapbox-gl-native/build/linux-x86_64/Release/mbgl-test) ==24942== by 0x796445: mbgl::RenderStyle::update(mbgl::UpdateParameters const&) (in /home/tmpsantos/Projects/mapbox-gl-native/build/linux-x86_64/Release/mbgl-test) ==24942== by 0x77E29D: mbgl::Map::Impl::render(mbgl::View&) (in /home/tmpsantos/Projects/mapbox-gl-native/build/linux-x86_64/Release/mbgl-test) ==24942== by 0x77E559: mbgl::Map::Impl::renderStill() (in /home/tmpsantos/Projects/mapbox-gl-native/build/linux-x86_64/Release/mbgl-test) ==24942== by 0xA39772: uv__async_event (async.c:98) ==24942== by 0xA398F8: uv__async_io (async.c:138) ==24942== by 0xA4375F: uv__io_poll (linux-core.c:380) ==24942== by 0xA3A1F2: uv_run (core.c:354) ==24942== by 0x61BADC: API_ZoomHistory_Test::TestBody() (in /home/tmpsantos/Projects/mapbox-gl-native/build/linux-x86_64/Release/mbgl-test) ==24942== by 0x89FDE9: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (in /home/tmpsantos/Projects/mapbox-gl-native/build/linux-x86_64/Release/mbgl-test) ==24942== by 0x885450: testing::Test::Run() (in /home/tmpsantos/Projects/mapbox-gl-native/build/linux-x86_64/Release/mbgl-test) ==24942== by 0x88642F: testing::TestInfo::Run() (in /home/tmpsantos/Projects/mapbox-gl-native/build/linux-x86_64/Release/mbgl-test) ==24942== ```
* [core] Fix sorting order for render tilesThiago Marcos P. Santos2017-07-071-0/+3
| | | | | Sort by z order, so lower res tiles don't get rendered over high res tiles.
* [core] Prefetch low resolution tilesThiago Marcos P. Santos2017-07-075-4/+45
|
* [core] Updated script detection for Unicode 10Minh Nguyễn2017-07-061-2/+14
| | | | Updated script detection code to reflect changes in Unicode 10 and UTR 50 revision 17.
* [core] Implement circle-pitch-alignment propertyChris Loer2017-07-067-12/+67
| | | | Closes issue #9349.
* [core] Don't upload empty bucketsBruno de Oliveira Abinader2017-07-062-3/+5
|
* [core] make{Glyph,Image}Atlas only once for any number of symbol layersJohn Firebaugh2017-07-063-34/+24
|
* [core] rename getStencils() to getClipIDs() to better reflect what it ↵Konstantin Käfer2017-07-063-12/+12
| | | | actually does
* [core] don't use unordered_* collections for things we need to sort anywayKonstantin Käfer2017-07-061-4/+4
|
* [core] refactor ClipID generationKonstantin Käfer2017-07-0616-52/+45
|
* [core] Fix iterator invalidation in erase_ifJohn Firebaugh2017-07-051-4/+4
| | | | vector::erase invalidates iterators. It's not safe for erase_if to cache the end iterator nor increment, then erase.
* [core] Factor timePoint initialization: take 2Bruno de Oliveira Abinader2017-07-043-6/+9
|