Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [core] Move *TileID hashing to separate impl | Jesse Crocker | 2017-09-26 | 2 | -276/+29 |
| | |||||
* | [core] fix loading of stale must-revalidate resources | Konstantin Käfer | 2017-09-25 | 1 | -0/+3 |
| | | | | | | In https://github.com/mapbox/mapbox-gl-native/pull/9670, we implemented support for the Cache-Control: must-revalidate header. While we now respect this header and don't show resources that are stale and have this header set, the optional cache request never completes. This means we're also never going to try to actually get a fresh tile and just never show this tile anymore. This commit fixes this by responding with a Not Found error when the resource is unusable (= stale and has must-revalidate set). Since we actually still have the data (but can't use it due to caching rules), we're responding with the data as well. To avoid a second cache hit, tile_loader_impl.hpp now passes on the data from the Optional to the Required request so that it can be reused when we get a 304 Not Modified response from the server. | ||||
* | [core] custom layer - add contextLost callback | Ivo van Dongen | 2017-09-22 | 4 | -3/+20 |
| | | | | - optional callback method that can be used to do cleanup when the context has been lost before re-initialisation | ||||
* | [core] send signal to RenderCustomLayer when gl context has been lost | Ivo van Dongen | 2017-09-22 | 5 | -1/+27 |
| | | | | - Prevents cleaning up of GL resources that no longer exist, resulting in a crash | ||||
* | [core] allow context to be abandoned on destruction | Ivo van Dongen | 2017-09-22 | 2 | -1/+9 |
| | | | | - This enables the use case where the system already destroyed the underlying GL resources. Otherwise, the cleanup would fail and crash | ||||
* | [core] remove throttling from geometry tile | Ivo van Dongen | 2017-09-22 | 2 | -9/+2 |
| | | | | - This doesn't work for asynchronous rendering - see https://github.com/mapbox/mapbox-gl-native/pull/9611 | ||||
* | Preserve depth buffer between 3D layers + optimize render order (#9931) | Lauren Budorick | 2017-09-21 | 11 | -133/+183 |
| | | | Port of https://github.com/mapbox/mapbox-gl-js/pull/5101: adds a new render pass `Pass3D` before any other rendering wherein we render layers with 3D passes (fill-extrusion layers) to offscreen framebuffers, sharing a depth renderbuffer between those layers in order to render 3D space correctly. Those framebuffers are saved on the RenderLayers and copied back to the map during the translucent pass. Rendering to offscreen framebuffers before we do any clear + draw means we can avoid expensive framebuffer restores. | ||||
* | [core] make sure tiles are not treated as complete until all worker ↵ | Konstantin Käfer | 2017-09-21 | 7 | -37/+43 |
| | | | | | | operations completed Previously, when we started a worker operation that eventually throws an exception (e.g. due to the tile not being parseable), and then enqueue another worker operation while the first one is processing, we treated the worker as idle once the first operation's error callback fired, even though the second operation was still in progress. Due to our use of coalescing, I was unable to come up with a reliable test since we'd need to reproduce the behavior described above, which is timing dependent. | ||||
* | [core] keep tiles renderable even if a subsequent error occurs | Konstantin Käfer | 2017-09-21 | 2 | -5/+0 |
| | | | | Since 9a9408e8111bcdcd0fcb9a93112d61ab8fce0601, we marked tiles as non-renderable if an error occured. This lead to situations where a tile was loaded + parsed successfully, then a revalidation attempt occured (e.g. because the resource was stale) which failed. In this case, we used to mark the tile as non-renderable although we could've used the perfectly parsed (stale) resource. | ||||
* | Fix platform dependent number type `unsigned long` -> `uint64_t` | Asheem Mamoowala | 2017-09-20 | 2 | -3/+3 |
| | |||||
* | [core] Don't redo placement for zoom changes at low pitch. | Chris Loer | 2017-09-18 | 1 | -3/+3 |
| | | | | | Fixes issue #9996 Port of GL-JS #5284 | ||||
* | [core] Bypass GeoJSON tile data update if tileID zoom is above source's maxZoom | Bruno de Oliveira Abinader | 2017-09-15 | 1 | -5/+8 |
| | |||||
* | [core] TransformState::getIntegerZoom should be uint8_t | Bruno de Oliveira Abinader | 2017-09-15 | 2 | -2/+2 |
| | |||||
* | [core] Reset zoom history state in still mode | Bruno de Oliveira Abinader | 2017-09-15 | 1 | -2/+9 |
| | |||||
* | [core] Partially revert ZoomHistory.lastIntegerZoom update | Bruno de Oliveira Abinader | 2017-09-15 | 1 | -1/+1 |
| | |||||
* | [core] Do not cache stale tiles | Bruno de Oliveira Abinader | 2017-09-14 | 2 | -23/+20 |
| | |||||
* | [core] Precompute if has image diffs when updating sources | Bruno de Oliveira Abinader | 2017-09-14 | 1 | -5/+3 |
| | |||||
* | [core] Clear atlasImage rect for a removed pattern | Bruno de Oliveira Abinader | 2017-09-13 | 1 | -0/+7 |
| | |||||
* | [core] Rename for clarity: ActiveTexture → ActiveTextureUnit | John Firebaugh | 2017-09-11 | 6 | -12/+12 |
| | |||||
* | [core] Dirty the correct state when a texture is deleted | John Firebaugh | 2017-09-11 | 1 | -2/+4 |
| | | | | When a texture is deleted, it is as if all texture units to which that texture object is bound are rebound to texture object zero. Therefore it's the *bindings* that need to be dirtied, not the active texture unit. | ||||
* | Fast tileCount with help from @mapbox/sphericalmercator module | Asheem Mamoowala | 2017-09-08 | 2 | -0/+24 |
| | |||||
* | [core] Align line vertex to 4-byte boundary | John Firebaugh | 2017-09-08 | 6 | -21/+13 |
| | | | | 10 byte vertices are heavily penalized by common GL implementations. | ||||
* | [core] Fix z-fighting of translucent fills | John Firebaugh | 2017-09-08 | 1 | -1/+3 |
| | |||||
* | [core] Remove debug::renderTree | Lauren Budorick | 2017-09-07 | 2 | -23/+0 |
| | |||||
* | [core] remove map update enum | Ivo van Dongen | 2017-08-31 | 4 | -68/+41 |
| | |||||
* | [core] move annotation tile updates to renderer | Ivo van Dongen | 2017-08-31 | 2 | -5/+4 |
| | | | | | - AnnotationData.updateData() was not completely thread safe. Calling it from the renderer thread instead of the main thread fixes this - Since we moved the coalescing of updates out of the map and into the renderer frontend implementations, the updateData was called too much, resulting in degraded performance. Moving it into the renderer makes sure it gets coalesced again. | ||||
* | [core] annotation manager - manage dirty state internally | Ivo van Dongen | 2017-08-31 | 3 | -24/+29 |
| | |||||
* | [node] Cleanup NodeMap::Render | Bruno de Oliveira Abinader | 2017-08-31 | 1 | -0/+7 |
| | |||||
* | [core][ios][macos][android]DDS-ify `text-letter-spacing` and `text-max-width` | Asheem Mamoowala | 2017-08-30 | 3 | -10/+10 |
| | |||||
* | [core] make thread.hpp public | Ivo van Dongen | 2017-08-30 | 1 | -163/+0 |
| | |||||
* | [core] Set Style::Impl::loaded only when finishing parsing style | Bruno de Oliveira Abinader | 2017-08-30 | 1 | -1/+2 |
| | |||||
* | [core] Clear RenderGeoJSONSource tilePyramid if no data is available | Bruno de Oliveira Abinader | 2017-08-30 | 1 | -6/+11 |
| | |||||
* | Implement icon-anchor property | Lauren Budorick | 2017-08-28 | 8 | -65/+107 |
| | |||||
* | [core] Fix issue #9843 (overzoomed line label rendering glitch). | Chris Loer | 2017-08-25 | 1 | -19/+53 |
| | | | | | | Ports fix for GL JS issue #5112. Line label projection can't be based on tile geometry that's behind the plane of the camera. The relevant tests are still ignored because the overzoomed collision behavior is different between native and JS. | ||||
* | [core] Add optional type template parameter to util::unit, so that it ↵ | Chris Loer | 2017-08-25 | 1 | -2/+2 |
| | | | | doesn't always pick up the default type of 'double' from util::mag. | ||||
* | [core] Added GeometryTileWorker-owned image correlation ID | Bruno de Oliveira Abinader | 2017-08-25 | 7 | -20/+41 |
| | |||||
* | [core] Don't throttle placement in still mode | Bruno de Oliveira Abinader | 2017-08-25 | 2 | -2/+8 |
| | |||||
* | Revert "[core] Ensure image dependencies in ↵ | Bruno de Oliveira Abinader | 2017-08-25 | 1 | -6/+1 |
| | | | | | | GeometryTileWorker::onImagesAvailable" This reverts commit cd8eb13ba2d8b65f6cac12a36e0586abc56fcb9f. | ||||
* | [core] No need to skip glClear optimization in overdraw mode | John Firebaugh | 2017-08-24 | 1 | -5/+0 |
| | |||||
* | [core] Eliminate temporary sources set | John Firebaugh | 2017-08-24 | 1 | -11/+8 |
| | |||||
* | [core] Clean up includes and forward declarations | John Firebaugh | 2017-08-24 | 3 | -25/+13 |
| | |||||
* | [core] Inline Renderer::Impl::doRender | John Firebaugh | 2017-08-24 | 3 | -41/+25 |
| | |||||
* | [core] Remove unnecessary members from UpdateParameters | John Firebaugh | 2017-08-24 | 3 | -8/+2 |
| | |||||
* | [core] Create BackendScopes in Renderer, assert in Impl | John Firebaugh | 2017-08-24 | 2 | -9/+7 |
| | | | | This avoids a long series of reset() calls in the Impl. | ||||
* | [core] Inline RenderItem and RenderData | John Firebaugh | 2017-08-24 | 2 | -49/+18 |
| | |||||
* | [core] Merge RenderStyle into Renderer::Impl | John Firebaugh | 2017-08-24 | 7 | -605/+477 |
| | |||||
* | [core] Avoid GeometryTile dependency in FeatureIndex | John Firebaugh | 2017-08-24 | 3 | -23/+14 |
| | |||||
* | [core] Avoid RenderStyle dependency in query code | John Firebaugh | 2017-08-24 | 20 | -93/+77 |
| | |||||
* | [core] Update ZoomHistory.lastInteger{Zoom,Time} if different from floor zoom | Bruno de Oliveira Abinader | 2017-08-22 | 1 | -16/+21 |
| | |||||
* | Set Default MaxZoom to 22 | Asheem Mamoowala | 2017-08-21 | 2 | -2/+2 |
| |