summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2017-07-25 11:01:35 +0300
committerIvo van Dongen <ivovandongen@users.noreply.github.com>2017-07-25 17:44:28 +0300
commitf69997a19cf74a125c46a60e6004aa84e24c0b68 (patch)
treef9c2bd7622cdf6fc381a90310203a15973a072a3
parent66e1429460b0aad6b295773db6e6fe965831ff3c (diff)
downloadqtlocation-mapboxgl-f69997a19cf74a125c46a60e6004aa84e24c0b68.tar.gz
[default] manage backendscope in renderer frontend
-rw-r--r--platform/default/mbgl/gl/headless_backend.cpp2
-rw-r--r--platform/default/mbgl/renderer/async_renderer_frontend.cpp7
-rw-r--r--platform/default/mbgl/renderer/async_renderer_frontend.hpp3
3 files changed, 8 insertions, 4 deletions
diff --git a/platform/default/mbgl/gl/headless_backend.cpp b/platform/default/mbgl/gl/headless_backend.cpp
index 9076be4cbb..82660331fa 100644
--- a/platform/default/mbgl/gl/headless_backend.cpp
+++ b/platform/default/mbgl/gl/headless_backend.cpp
@@ -12,7 +12,7 @@ namespace mbgl {
HeadlessBackend::HeadlessBackend() = default;
HeadlessBackend::~HeadlessBackend() {
- BackendScope guard { *this, getScopeType() };
+ BackendScope guard { *this };
context.reset();
}
diff --git a/platform/default/mbgl/renderer/async_renderer_frontend.cpp b/platform/default/mbgl/renderer/async_renderer_frontend.cpp
index 37b4e60cf6..230d0bb820 100644
--- a/platform/default/mbgl/renderer/async_renderer_frontend.cpp
+++ b/platform/default/mbgl/renderer/async_renderer_frontend.cpp
@@ -1,13 +1,16 @@
#include "async_renderer_frontend.hpp"
+
+#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/renderer/renderer.hpp>
namespace mbgl {
-AsyncRendererFrontend::AsyncRendererFrontend(std::unique_ptr<Renderer> renderer_, View& view_)
+AsyncRendererFrontend::AsyncRendererFrontend(std::unique_ptr<Renderer> renderer_, RendererBackend& backend, View& view_)
: renderer(std::move(renderer_))
, view(view_)
- , asyncInvalidate([this] {
+ , asyncInvalidate([&] {
if (renderer && updateParameters) {
+ BackendScope guard { backend };
renderer->render(view, *updateParameters);
}
}) {
diff --git a/platform/default/mbgl/renderer/async_renderer_frontend.hpp b/platform/default/mbgl/renderer/async_renderer_frontend.hpp
index 00cf3a480c..e1b2f780cd 100644
--- a/platform/default/mbgl/renderer/async_renderer_frontend.hpp
+++ b/platform/default/mbgl/renderer/async_renderer_frontend.hpp
@@ -10,11 +10,12 @@
namespace mbgl {
class Renderer;
+class RendererBackend;
// Default implementation for RendererFrontend
class AsyncRendererFrontend : public mbgl::RendererFrontend {
public:
- AsyncRendererFrontend(std::unique_ptr<Renderer>, View&);
+ AsyncRendererFrontend(std::unique_ptr<Renderer>, RendererBackend&, View&);
~AsyncRendererFrontend() override;
void reset() override;