diff options
Diffstat (limited to 'src/mbgl/renderer')
-rw-r--r-- | src/mbgl/renderer/buckets/debug_bucket.cpp | 6 | ||||
-rw-r--r-- | src/mbgl/renderer/buckets/debug_bucket.hpp | 4 | ||||
-rw-r--r-- | src/mbgl/renderer/render_source.cpp | 4 | ||||
-rw-r--r-- | src/mbgl/renderer/render_source.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/render_source_observer.hpp | 7 | ||||
-rw-r--r-- | src/mbgl/renderer/render_style.cpp | 25 | ||||
-rw-r--r-- | src/mbgl/renderer/render_style.hpp | 4 | ||||
-rw-r--r-- | src/mbgl/renderer/render_style_observer.hpp | 4 | ||||
-rw-r--r-- | src/mbgl/renderer/render_tile.cpp | 4 | ||||
-rw-r--r-- | src/mbgl/renderer/renderer_impl.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/renderer/renderer_impl.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/renderer_observer.hpp | 4 | ||||
-rw-r--r-- | src/mbgl/renderer/tile_pyramid.cpp | 2 |
13 files changed, 46 insertions, 27 deletions
diff --git a/src/mbgl/renderer/buckets/debug_bucket.cpp b/src/mbgl/renderer/buckets/debug_bucket.cpp index 53c751c443..763ae270ed 100644 --- a/src/mbgl/renderer/buckets/debug_bucket.cpp +++ b/src/mbgl/renderer/buckets/debug_bucket.cpp @@ -12,13 +12,13 @@ namespace mbgl { DebugBucket::DebugBucket(const OverscaledTileID& id, const bool renderable_, - const bool complete_, + const bool loaded_, optional<Timestamp> modified_, optional<Timestamp> expires_, MapDebugOptions debugMode_, gl::Context& context) : renderable(renderable_), - complete(complete_), + loaded(loaded_), modified(std::move(modified_)), expires(std::move(expires_)), debugMode(debugMode_) { @@ -61,7 +61,7 @@ DebugBucket::DebugBucket(const OverscaledTileID& id, double baseline = 200; if (debugMode & MapDebugOptions::ParseStatus) { const std::string text = util::toString(id) + " - " + - (complete ? "complete" : renderable ? "renderable" : "pending"); + (loaded ? "loaded" : renderable ? "renderable" : "pending"); addText(text, 50, baseline, 5); baseline += 200; } diff --git a/src/mbgl/renderer/buckets/debug_bucket.hpp b/src/mbgl/renderer/buckets/debug_bucket.hpp index fc3128e944..128d432b4b 100644 --- a/src/mbgl/renderer/buckets/debug_bucket.hpp +++ b/src/mbgl/renderer/buckets/debug_bucket.hpp @@ -21,14 +21,14 @@ class DebugBucket : private util::noncopyable { public: DebugBucket(const OverscaledTileID& id, bool renderable, - bool complete, + bool loaded, optional<Timestamp> modified, optional<Timestamp> expires, MapDebugOptions, gl::Context&); const bool renderable; - const bool complete; + const bool loaded; const optional<Timestamp> modified; const optional<Timestamp> expires; const MapDebugOptions debugMode; diff --git a/src/mbgl/renderer/render_source.cpp b/src/mbgl/renderer/render_source.cpp index 7723a1c7ca..d07d8020a8 100644 --- a/src/mbgl/renderer/render_source.cpp +++ b/src/mbgl/renderer/render_source.cpp @@ -49,8 +49,8 @@ void RenderSource::onTileChanged(Tile& tile) { observer->onTileChanged(*this, tile.id); } -void RenderSource::onTileError(Tile& tile, std::exception_ptr error) { - observer->onTileError(*this, tile.id, error); +void RenderSource::onTileError(Tile& tile, std::exception_ptr error, const EventSeverity severity) { + observer->onTileError(*this, tile.id, error, severity); } bool RenderSource::isEnabled() const { diff --git a/src/mbgl/renderer/render_source.hpp b/src/mbgl/renderer/render_source.hpp index b565439588..6bc19a9e64 100644 --- a/src/mbgl/renderer/render_source.hpp +++ b/src/mbgl/renderer/render_source.hpp @@ -84,7 +84,7 @@ protected: bool enabled = false; void onTileChanged(Tile&) final; - void onTileError(Tile&, std::exception_ptr) final; + void onTileError(Tile&, std::exception_ptr, EventSeverity) final; }; } // namespace mbgl diff --git a/src/mbgl/renderer/render_source_observer.hpp b/src/mbgl/renderer/render_source_observer.hpp index 792a18db2b..1494337dd6 100644 --- a/src/mbgl/renderer/render_source_observer.hpp +++ b/src/mbgl/renderer/render_source_observer.hpp @@ -1,5 +1,7 @@ #pragma once +#include <mbgl/util/event.hpp> + #include <exception> namespace mbgl { @@ -12,7 +14,10 @@ public: virtual ~RenderSourceObserver() = default; virtual void onTileChanged(RenderSource&, const OverscaledTileID&) {} - virtual void onTileError(RenderSource&, const OverscaledTileID&, std::exception_ptr) {} + virtual void onTileError(RenderSource&, + const OverscaledTileID&, + std::exception_ptr, + EventSeverity = EventSeverity::Error) {} }; } // namespace mbgl diff --git a/src/mbgl/renderer/render_style.cpp b/src/mbgl/renderer/render_style.cpp index 3d95b12bc4..f84e6987aa 100644 --- a/src/mbgl/renderer/render_style.cpp +++ b/src/mbgl/renderer/render_style.cpp @@ -422,16 +422,25 @@ void RenderStyle::onLowMemory() { } } -void RenderStyle::onGlyphsError(const FontStack& fontStack, const GlyphRange& glyphRange, std::exception_ptr error) { - Log::Error(Event::Style, "Failed to load glyph range %d-%d for font stack %s: %s", - glyphRange.first, glyphRange.second, fontStackToString(fontStack).c_str(), util::toString(error).c_str()); - observer->onResourceError(error); +void RenderStyle::onGlyphsError(const FontStack& fontStack, + const GlyphRange& glyphRange, + std::exception_ptr error, + const EventSeverity severity) { + Log::Record(severity, Event::Style, "Failed to load glyph range %d-%d for font stack %s: %s", + glyphRange.first, glyphRange.second, fontStackToString(fontStack).c_str(), + util::toString(error).c_str()); + observer->onResourceError(error, severity); } -void RenderStyle::onTileError(RenderSource& source, const OverscaledTileID& tileID, std::exception_ptr error) { - Log::Error(Event::Style, "Failed to load tile %s for source %s: %s", - util::toString(tileID).c_str(), source.baseImpl->id.c_str(), util::toString(error).c_str()); - observer->onResourceError(error); +void RenderStyle::onTileError(RenderSource& source, + const OverscaledTileID& tileID, + std::exception_ptr error, + const EventSeverity severity) { + Log::Record(severity, Event::Style, "Failed to load tile %s for source %s: %s", + util::toString(tileID).c_str(), source.baseImpl->id.c_str(), + util::toString(error).c_str()); + observer->onResourceError(error, severity); + observer->onInvalidate(); } void RenderStyle::onTileChanged(RenderSource&, const OverscaledTileID&) { diff --git a/src/mbgl/renderer/render_style.hpp b/src/mbgl/renderer/render_style.hpp index 23a640c482..3b45fde834 100644 --- a/src/mbgl/renderer/render_style.hpp +++ b/src/mbgl/renderer/render_style.hpp @@ -79,11 +79,11 @@ private: RenderLight renderLight; // GlyphManagerObserver implementation. - void onGlyphsError(const FontStack&, const GlyphRange&, std::exception_ptr) override; + void onGlyphsError(const FontStack&, const GlyphRange&, std::exception_ptr, EventSeverity) override; // RenderSourceObserver implementation. void onTileChanged(RenderSource&, const OverscaledTileID&) override; - void onTileError(RenderSource&, const OverscaledTileID&, std::exception_ptr) override; + void onTileError(RenderSource&, const OverscaledTileID&, std::exception_ptr, EventSeverity) override; RenderStyleObserver* observer; ZoomHistory zoomHistory; diff --git a/src/mbgl/renderer/render_style_observer.hpp b/src/mbgl/renderer/render_style_observer.hpp index 5852dd68b8..095d7d53e4 100644 --- a/src/mbgl/renderer/render_style_observer.hpp +++ b/src/mbgl/renderer/render_style_observer.hpp @@ -1,5 +1,7 @@ #pragma once +#include <mbgl/util/event.hpp> + #include <exception> namespace mbgl { @@ -8,7 +10,7 @@ class RenderStyleObserver { public: virtual ~RenderStyleObserver() = default; virtual void onInvalidate() {} - virtual void onResourceError(std::exception_ptr) {} + virtual void onResourceError(std::exception_ptr, EventSeverity = EventSeverity::Error) {} }; } // namespace mbgl diff --git a/src/mbgl/renderer/render_tile.cpp b/src/mbgl/renderer/render_tile.cpp index c9912f0563..c6670893ad 100644 --- a/src/mbgl/renderer/render_tile.cpp +++ b/src/mbgl/renderer/render_tile.cpp @@ -97,12 +97,12 @@ void RenderTile::finishRender(PaintParameters& parameters) { if (parameters.debugOptions & (MapDebugOptions::Timestamps | MapDebugOptions::ParseStatus)) { if (!tile.debugBucket || tile.debugBucket->renderable != tile.isRenderable() || - tile.debugBucket->complete != tile.isComplete() || + tile.debugBucket->loaded != tile.isLoaded() || !(tile.debugBucket->modified == tile.modified) || !(tile.debugBucket->expires == tile.expires) || tile.debugBucket->debugMode != parameters.debugOptions) { tile.debugBucket = std::make_unique<DebugBucket>( - tile.id, tile.isRenderable(), tile.isComplete(), tile.modified, + tile.id, tile.isRenderable(), tile.isLoaded(), tile.modified, tile.expires, parameters.debugOptions, parameters.context); } diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp index 981c09e806..6e79f46ebe 100644 --- a/src/mbgl/renderer/renderer_impl.cpp +++ b/src/mbgl/renderer/renderer_impl.cpp @@ -69,6 +69,7 @@ void Renderer::Impl::render(View& view, const UpdateParameters& updateParameters }; bool loaded = updateParameters.styleLoaded && renderStyle->isLoaded(); + // fprintf(stderr, "loaded: %d\n", loaded); if (updateParameters.mode == MapMode::Continuous) { if (renderState == RenderState::Never) { @@ -343,8 +344,8 @@ void Renderer::Impl::onInvalidate() { observer->onInvalidate(); } -void Renderer::Impl::onResourceError(std::exception_ptr ptr) { - observer->onResourceError(ptr); +void Renderer::Impl::onResourceError(std::exception_ptr ptr, const EventSeverity severity) { + observer->onResourceError(ptr, severity); } void Renderer::Impl::onLowMemory() { diff --git a/src/mbgl/renderer/renderer_impl.hpp b/src/mbgl/renderer/renderer_impl.hpp index 521df6ca63..be10962174 100644 --- a/src/mbgl/renderer/renderer_impl.hpp +++ b/src/mbgl/renderer/renderer_impl.hpp @@ -37,7 +37,7 @@ public: // RenderStyleObserver implementation void onInvalidate() override; - void onResourceError(std::exception_ptr) override; + void onResourceError(std::exception_ptr, EventSeverity) override; private: void doRender(PaintParameters&); diff --git a/src/mbgl/renderer/renderer_observer.hpp b/src/mbgl/renderer/renderer_observer.hpp index 551b5c803e..0cb4c69cef 100644 --- a/src/mbgl/renderer/renderer_observer.hpp +++ b/src/mbgl/renderer/renderer_observer.hpp @@ -1,5 +1,7 @@ #pragma once +#include <mbgl/util/event.hpp> + #include <exception> namespace mbgl { @@ -17,7 +19,7 @@ public: virtual void onInvalidate() {} // Resource failed to download / parse - virtual void onResourceError(std::exception_ptr) {} + virtual void onResourceError(std::exception_ptr, EventSeverity = EventSeverity::Error) {} // First frame virtual void onWillStartRenderingMap() {} diff --git a/src/mbgl/renderer/tile_pyramid.cpp b/src/mbgl/renderer/tile_pyramid.cpp index 219f154675..106f82b737 100644 --- a/src/mbgl/renderer/tile_pyramid.cpp +++ b/src/mbgl/renderer/tile_pyramid.cpp @@ -31,7 +31,7 @@ TilePyramid::~TilePyramid() = default; bool TilePyramid::isLoaded() const { for (const auto& pair : tiles) { - if (!pair.second->isComplete()) { + if (!pair.second->isLoaded()) { return false; } } |