summaryrefslogtreecommitdiff
path: root/src/mbgl/tile/raster_tile.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [core] Remove file source from public Map ctorBruno de Oliveira Abinader2019-03-201-1/+0
|
* [core] use abstract Context interface where possibleKonstantin Käfer2019-03-121-1/+1
|
* [core] Replace remaining dynamic_cast with static_castBruno de Oliveira Abinader2018-08-081-1/+1
|
* [core] Avoid blocking in Thread<Object> constructor (#12151)Anand Thakker2018-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Introduce AspiringActor, EstablishedActor This pair of objects represents the two-phase (parent-thread / child-thread) construction that's needed to support constructing Thread<Object> without blocking until the child thread is up and running. An `AspiringActor<O>` is responsible for: - ownership of the actor's `Mailbox` - allocating the memory for (but *not* constructing) the target object `O` Using these two pieces--the mailbox and a stable address for `O`--an `AspiringActor<O>` can accept messages for the target object, or provide `ActorRef<O>`s that do so, before the object has actually been constructed by the corresponding `EstablishedActor<O>`. (Such messages are queued in the mailbox until after the object is constructed.) This allows for an `AspiringActor<O>` to be created and safely used by a thread other than the one on which the target object will (eventually) live. An `EstablishedActor<O>` is responsible for managing the lifetime of the target object `O` and the open/closed state of the parent's `mailbox`. The `O` object's lifetime is contained by that of its owning `EstablishedActor<O>`: the `EstablishedActor` constructor executes the `O` constructor via "placement new", constructing it at the address provided by the parent `AspiringActor`, and the `~EstablishedActor` destructor similarly executes the `~O` destructor (after closing the mailbox). `EstablishedActor` should therefore live entirely on the thread intended to own `O`. * Remove Actor#{invoke,ask}
* [core] add raster-dem source type and hillshade layer type (#10642)Molly Lloyd2018-01-231-3/+0
|
* [core] make forcing cache/network only more explicitKonstantin Käfer2017-10-121-4/+4
| | | | | | Previously, we used the existence of a `prior*` field in the Resource object as an indication for whether we should consult the cache or not. However, this is prone to error, since a failed cache lookup won't set any prior fields. Therefore, we manually set `priorExpires` to 0. This in turn triggered another bug where generated wrong expiration timestamps when the server response we got was expired (or expired between sending and receiving). This commit changes the flags so that we can now explicitly request CacheOnly/NetworkOnly (or All) loading methods, rather than the implicit Optional/Required naming scheme.
* [core] make sure tiles are not treated as complete until all worker ↵Konstantin Käfer2017-09-211-3/+12
| | | | | | 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 occursKonstantin Käfer2017-09-211-3/+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.
* [core] remove dependencies on RunLoopIvo van Dongen2017-08-091-2/+2
|
* [core] generate masks for raster tiles to avoid painting over childrenKonstantin Käfer2017-07-241-1/+7
|
* [core] Merge RenderLayer::uploadBuckets into RenderSource::startRenderJohn Firebaugh2017-06-131-0/+6
|
* [core] Move renderer/* files into sub-folders (#8983)Asheem Mamoowala2017-05-121-1/+1
| | | Move renderer/* files into sub-folders
* [core] Immutable ImplsJohn Firebaugh2017-05-121-1/+1
|
* [core] UpdateParameters ⇢ TileParametersJohn Firebaugh2017-05-041-2/+2
|
* [core] Move render-related sources out of style directory/namespaceJohn Firebaugh2017-05-031-2/+2
| | | | | | | | | | | | | | | | Moves the following to the renderer directory and out of the style namespace: * CascadeParameters * PropertyEvaluationParameters * UpdateParameters * PropertyEvaluator * DataDrivenPropertyEvaluator * CrossFadedPropertyEvaluator * PaintPropertyBinder * PaintProperyStatistics * PossiblyEvaluatedPropertyValue * TransitioningLight * EvaluatedLight
* [core] split off render layersIvo van Dongen2017-04-251-1/+1
|
* [core] Render parent raster tiles when ideal tile can't be loadedKonstantin Käfer2017-04-201-2/+6
|
* [core] make Tile::getBucket constIvo van Dongen2017-04-191-1/+1
|
* [core] don't treat empty raster tiles as "DataAvailability::All"Konstantin Käfer2017-02-221-2/+2
|
* [core] Tiles that error on load are not renderableJohn Firebaugh2016-10-051-2/+6
|
* [core] Use an actor model for tile worker concurrencyJohn Firebaugh2016-09-161-31/+18
|
* [core] change bool to enum class bool TileLoadStateKonstantin Käfer2016-09-071-2/+2
|
* [core] code style cleanupsKonstantin Käfer2016-07-011-1/+3
| | | | | | | - puts function definitions in a namespace ... {} rather than using namespace ...; - remove trailing whitespace - add trailing newline - protect SQL statements from being formatted by clang-format
* [core] remove TexturePool dependency from Raster constructorKonstantin Käfer2016-06-221-2/+1
|
* [core] Virtualize Source::createTileJohn Firebaugh2016-06-141-0/+2
|
* [core] Eliminate duplicate Necessity typesJohn Firebaugh2016-06-131-1/+1
|
* [core] TileSource ⇢ TileLoaderJohn Firebaugh2016-06-131-3/+3
|
* [core] *Tile ↔ *TileDataJohn Firebaugh2016-06-131-0/+68
Tile is now the main base class; RasterTile, VectorTile, etc are its subclasses. GeometryTileData and its subclasses form the piece that's passed to the worker.