summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer
Commit message (Collapse)AuthorAgeFilesLines
* [core] Use shared pointer to manage Image source raster data and speed up ↵Asheem Mamoowala2017-07-174-34/+67
| | | | change detection
* [core] fix division by zero when defaultFadeDuration is 0Konstantin Käfer2017-07-131-1/+4
|
* [core] Per-segment-per-layer vertex arraysJohn Firebaugh2017-07-1210-18/+39
| | | | Reduces rebinding, matches gl-js, and works around the buggy VAO implementation on PowerVR SGX544 GPUs.
* [core] Rework attribute binding (again)John Firebaugh2017-07-1211-28/+29
| | | | | | | | | | 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] Include what you useJohn Firebaugh2017-07-122-0/+2
|
* [core] Update shaders.Chris Loer2017-07-121-1/+1
| | | | | Implements 'icon-pitch-alignment' (issue #9345) Fixes issue #9456 (map-aligned point label regression)
* [core] GCC 4.9 bracket initialization issuesBruno de Oliveira Abinader2017-07-122-4/+4
|
* [core] GCC 4.9 is unable to deduce ctors when using bracket initBruno de Oliveira Abinader2017-07-122-4/+58
|
* [core] Added MBGL_CONSTEXPR to satisfy GCC 4.9Bruno de Oliveira Abinader2017-07-121-3/+4
|
* [core] GCC 4.9 shadow member warningsBruno de Oliveira Abinader2017-07-121-1/+1
|
* [core] add static asserts for more gl constantsAnsis Brammanis2017-07-111-2/+2
| | | | and rename BufferUsageType to BufferUsage
* [core] improve legibility of labels that follow linesAnsis Brammanis2017-07-119-21/+75
| | | | | | | | | | 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] Change OverscaledTileID to also include a "wrap" value.Chris Loer2017-07-111-5/+2
| | | | | This prevents TilePyramid from sharing wrapped copies of tiles. This is necessary because two wrapped tiles no longer share the same CollisionTile.
* [core] Use fade texture in collision debug boxes so that they agree more ↵Chris Loer2017-07-111-1/+2
| | | | closely with symbol shaders.
* [core] Set "max_camera_distance" to 1.5 for viewport-aligned road labels.Chris Loer2017-07-112-2/+18
| | | | 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] Pass pitch-scaling vertex attributes and uniforms to shaders.Chris Loer2017-07-111-0/+3
|
* [core] Improved label pitch-scaling: approximate collision box shapes based ↵Chris Loer2017-07-111-4/+9
| | | | on tile distance from camera.
* [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-074-3/+31
|
* [core] Implement circle-pitch-alignment propertyChris Loer2017-07-061-5/+7
| | | | Closes issue #9349.
* [core] Don't upload empty bucketsBruno de Oliveira Abinader2017-07-062-3/+5
|
* [core] rename getStencils() to getClipIDs() to better reflect what it ↵Konstantin Käfer2017-07-061-3/+3
| | | | actually does
* [core] refactor ClipID generationKonstantin Käfer2017-07-0612-36/+27
|
* [core] Factor timePoint initialization: take 2Bruno de Oliveira Abinader2017-07-041-2/+2
|
* [core] remove tile cache size setterIvo van Dongen2017-06-2710-25/+0
|
* [core] Don't transition new layers on a setStyle operationJohn Firebaugh2017-06-268-18/+25
|
* [all] Promote Style to public APIJohn Firebaugh2017-06-221-0/+4
|
* [core] Refactor CustomLayer internalsJohn Firebaugh2017-06-225-26/+64
| | | | Move the responsibility for initialization/deinitialization/rendering to RenderCustomLayer. This eliminates special case code from Map and Style.
* [core] retain GeometryTileLayer in SymbolLayoutKonstantin Käfer2017-06-212-4/+7
| | | | We're storing GeometryTileFeature objects in SymbolLayout, but they may reference data in GeometryTileLayer, which could go away if we don't retain it.
* [core] Enable property functions for line-width (#9250)Lauren Budorick2017-06-199-22/+52
|
* [iOS][macOS] Add ImageSource bindingsAsheem Mamoowala2017-06-192-8/+11
|
* [core] Fix composite function approximation for non-integer stopsJohn Firebaugh2017-06-161-5/+5
|
* [core] Obey "transition" property from style and its default valueJohn Firebaugh2017-06-152-3/+3
|
* [core] Skip calculations when we already know we need rendering or layoutJohn Firebaugh2017-06-151-3/+4
|
* [core] Eliminate constant attribute bindingsJohn Firebaugh2017-06-141-15/+6
| | | | Rather than binding constant attributes that will never be used, just disable the attribute.
* [core] Remove unused SymbolPropertyValues membersJohn Firebaugh2017-06-142-10/+0
|
* [core] Don't use "current" icon/text-size when bindingJohn Firebaugh2017-06-141-1/+0
| | | | | | The current value is not passed to `SymbolSizeBinder::uniformValues`, so we shouldn't check `currentValue.isConstant()` in `SymbolSizeBinder::attributeBindings`. If it were true, then we might end up using attribute bindings that are appropriate only for a constant property, but uniform bindings that are appropriate only for a source or composite function. Instead, just wait for a new bucket to be generated. This will happen automatically, since icon/text-size are layout properties.
* [core] Add constsJohn Firebaugh2017-06-131-3/+3
|
* [core] Don't upload the FrameHistory texture in frames where it's not changingJohn Firebaugh2017-06-131-6/+6
|
* [core] Dynamic program compilation for data-driven propertiesJohn Firebaugh2017-06-1310-29/+55
|
* [core] add constant DDS values as uniformsKonstantin Käfer2017-06-131-2/+21
|
* [core] Update to shelf-pack 2.1.0John Firebaugh2017-06-131-5/+5
|
* [core] Per-tile glyph/icon atlasesJohn Firebaugh2017-06-135-39/+22
|
* [tests] Test updating icon and pattern imagesJohn Firebaugh2017-06-131-1/+4
|
* [core] Per-bucket icon atlasesJohn Firebaugh2017-06-1318-51/+438
|
* [core] Per-bucket glyph atlasesJohn Firebaugh2017-06-138-19/+18
|
* [core] Merge RenderLayer::uploadBuckets into RenderSource::startRenderJohn Firebaugh2017-06-138-35/+11
|
* [core] Parallelism in {start,finish}Render parametersJohn Firebaugh2017-06-1315-66/+37
|