summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2017-07-25 11:01:35 +0300
committerIvo van Dongen <info@ivovandongen.nl>2017-07-25 11:26:16 +0300
commita372a4aa24d3f8b973fec89bbb3da6fd3f9234aa (patch)
tree2fb9bce97f738db76f84b92ceab02c2def4396ec
parent168c4657b1b88da968038be4767249faffa0a834 (diff)
downloadqtlocation-mapboxgl-a372a4aa24d3f8b973fec89bbb3da6fd3f9234aa.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;