summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer')
-rw-r--r--src/mbgl/renderer/buckets/debug_bucket.cpp6
-rw-r--r--src/mbgl/renderer/buckets/debug_bucket.hpp4
-rw-r--r--src/mbgl/renderer/render_source.cpp4
-rw-r--r--src/mbgl/renderer/render_source.hpp2
-rw-r--r--src/mbgl/renderer/render_source_observer.hpp7
-rw-r--r--src/mbgl/renderer/render_style.cpp25
-rw-r--r--src/mbgl/renderer/render_style.hpp4
-rw-r--r--src/mbgl/renderer/render_style_observer.hpp4
-rw-r--r--src/mbgl/renderer/render_tile.cpp4
-rw-r--r--src/mbgl/renderer/renderer_impl.cpp5
-rw-r--r--src/mbgl/renderer/renderer_impl.hpp2
-rw-r--r--src/mbgl/renderer/renderer_observer.hpp4
-rw-r--r--src/mbgl/renderer/tile_pyramid.cpp2
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;
}
}