From 46c43510d7ac5fe078010d5f0f5d39c4d5df3305 Mon Sep 17 00:00:00 2001 From: Ivo van Dongen Date: Wed, 5 Jul 2017 20:08:51 +0300 Subject: [core] rename backend to renderer backend --- src/mbgl/map/backend.cpp | 69 ------------------------ src/mbgl/map/backend_scope.cpp | 47 ---------------- src/mbgl/renderer/backend_scope.cpp | 47 ++++++++++++++++ src/mbgl/renderer/layers/render_custom_layer.cpp | 2 +- src/mbgl/renderer/render_style.cpp | 2 +- src/mbgl/renderer/renderer.cpp | 2 +- src/mbgl/renderer/renderer_backend.cpp | 69 ++++++++++++++++++++++++ src/mbgl/renderer/renderer_impl.cpp | 4 +- src/mbgl/renderer/renderer_impl.hpp | 7 ++- 9 files changed, 124 insertions(+), 125 deletions(-) delete mode 100644 src/mbgl/map/backend.cpp delete mode 100644 src/mbgl/map/backend_scope.cpp create mode 100644 src/mbgl/renderer/backend_scope.cpp create mode 100644 src/mbgl/renderer/renderer_backend.cpp (limited to 'src') diff --git a/src/mbgl/map/backend.cpp b/src/mbgl/map/backend.cpp deleted file mode 100644 index 83c2fed00b..0000000000 --- a/src/mbgl/map/backend.cpp +++ /dev/null @@ -1,69 +0,0 @@ -#include -#include -#include -#include -#include - -#include - -namespace mbgl { - -Backend::Backend() = default; - -gl::Context& Backend::getContext() { - assert(BackendScope::exists()); - std::call_once(initialized, [this] { - context = std::make_unique(); - context->enableDebugging(); - context->initializeExtensions( - std::bind(&Backend::initializeExtension, this, std::placeholders::_1)); - }); - return *context; -} - -PremultipliedImage Backend::readFramebuffer(const Size& size) const { - assert(context); - return context->readFramebuffer(size); -} - -void Backend::assumeFramebufferBinding(const gl::FramebufferID fbo) { - getContext().bindFramebuffer.setCurrentValue(fbo); - if (fbo != ImplicitFramebufferBinding) { - assert(gl::value::BindFramebuffer::Get() == getContext().bindFramebuffer.getCurrentValue()); - } -} - -void Backend::assumeViewport(int32_t x, int32_t y, const Size& size) { - getContext().viewport.setCurrentValue({ x, y, size }); - assert(gl::value::Viewport::Get() == getContext().viewport.getCurrentValue()); -} - -void Backend::assumeScissorTest(bool enabled) { - getContext().scissorTest.setCurrentValue(enabled); - assert(gl::value::ScissorTest::Get() == getContext().scissorTest.getCurrentValue()); -} - -bool Backend::implicitFramebufferBound() { - return getContext().bindFramebuffer.getCurrentValue() == ImplicitFramebufferBinding; -} - -void Backend::setFramebufferBinding(const gl::FramebufferID fbo) { - getContext().bindFramebuffer = fbo; - if (fbo != ImplicitFramebufferBinding) { - assert(gl::value::BindFramebuffer::Get() == getContext().bindFramebuffer.getCurrentValue()); - } -} - -void Backend::setViewport(int32_t x, int32_t y, const Size& size) { - getContext().viewport = { x, y, size }; - assert(gl::value::Viewport::Get() == getContext().viewport.getCurrentValue()); -} - -void Backend::setScissorTest(bool enabled) { - getContext().scissorTest = enabled; - assert(gl::value::ScissorTest::Get() == getContext().scissorTest.getCurrentValue()); -} - -Backend::~Backend() = default; - -} // namespace mbgl diff --git a/src/mbgl/map/backend_scope.cpp b/src/mbgl/map/backend_scope.cpp deleted file mode 100644 index 824ad4498b..0000000000 --- a/src/mbgl/map/backend_scope.cpp +++ /dev/null @@ -1,47 +0,0 @@ -#include -#include -#include - -#include - -namespace mbgl { - -static util::ThreadLocal currentScope; - -BackendScope::BackendScope(Backend& backend_, ScopeType scopeType_) - : priorScope(currentScope.get()), - nextScope(nullptr), - backend(backend_), - scopeType(scopeType_) { - if (priorScope) { - assert(priorScope->nextScope == nullptr); - priorScope->nextScope = this; - } - if (scopeType == ScopeType::Explicit) { - backend.activate(); - } - - currentScope.set(this); -} - -BackendScope::~BackendScope() { - assert(nextScope == nullptr); - if (priorScope) { - priorScope->backend.activate(); - currentScope.set(priorScope); - assert(priorScope->nextScope == this); - priorScope->nextScope = nullptr; - } else { - if (scopeType == ScopeType::Explicit) { - backend.deactivate(); - } - - currentScope.set(nullptr); - } -} - -bool BackendScope::exists() { - return currentScope.get(); -} - -} // namespace mbgl diff --git a/src/mbgl/renderer/backend_scope.cpp b/src/mbgl/renderer/backend_scope.cpp new file mode 100644 index 0000000000..5d57421c48 --- /dev/null +++ b/src/mbgl/renderer/backend_scope.cpp @@ -0,0 +1,47 @@ +#include +#include +#include + +#include + +namespace mbgl { + +static util::ThreadLocal currentScope; + +BackendScope::BackendScope(RendererBackend& backend_, ScopeType scopeType_) + : priorScope(currentScope.get()), + nextScope(nullptr), + backend(backend_), + scopeType(scopeType_) { + if (priorScope) { + assert(priorScope->nextScope == nullptr); + priorScope->nextScope = this; + } + if (scopeType == ScopeType::Explicit) { + backend.activate(); + } + + currentScope.set(this); +} + +BackendScope::~BackendScope() { + assert(nextScope == nullptr); + if (priorScope) { + priorScope->backend.activate(); + currentScope.set(priorScope); + assert(priorScope->nextScope == this); + priorScope->nextScope = nullptr; + } else { + if (scopeType == ScopeType::Explicit) { + backend.deactivate(); + } + + currentScope.set(nullptr); + } +} + +bool BackendScope::exists() { + return currentScope.get(); +} + +} // namespace mbgl diff --git a/src/mbgl/renderer/layers/render_custom_layer.cpp b/src/mbgl/renderer/layers/render_custom_layer.cpp index 81b8ac301b..30649137c7 100644 --- a/src/mbgl/renderer/layers/render_custom_layer.cpp +++ b/src/mbgl/renderer/layers/render_custom_layer.cpp @@ -3,7 +3,7 @@ #include #include #include -#include +#include namespace mbgl { diff --git a/src/mbgl/renderer/render_style.cpp b/src/mbgl/renderer/render_style.cpp index a0f1fd4049..2bf903fe5f 100644 --- a/src/mbgl/renderer/render_style.cpp +++ b/src/mbgl/renderer/render_style.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -24,7 +25,6 @@ #include #include #include -#include #include #include #include diff --git a/src/mbgl/renderer/renderer.cpp b/src/mbgl/renderer/renderer.cpp index 11d7726c79..3c9715cd50 100644 --- a/src/mbgl/renderer/renderer.cpp +++ b/src/mbgl/renderer/renderer.cpp @@ -5,7 +5,7 @@ namespace mbgl { -Renderer::Renderer(Backend& backend, +Renderer::Renderer(RendererBackend& backend, float pixelRatio_, FileSource& fileSource_, Scheduler& scheduler_, diff --git a/src/mbgl/renderer/renderer_backend.cpp b/src/mbgl/renderer/renderer_backend.cpp new file mode 100644 index 0000000000..159ef432b3 --- /dev/null +++ b/src/mbgl/renderer/renderer_backend.cpp @@ -0,0 +1,69 @@ +#include +#include +#include +#include +#include + +#include + +namespace mbgl { + +RendererBackend::RendererBackend() = default; + +gl::Context& RendererBackend::getContext() { + assert(BackendScope::exists()); + std::call_once(initialized, [this] { + context = std::make_unique(); + context->enableDebugging(); + context->initializeExtensions( + std::bind(&RendererBackend::initializeExtension, this, std::placeholders::_1)); + }); + return *context; +} + +PremultipliedImage RendererBackend::readFramebuffer(const Size& size) const { + assert(context); + return context->readFramebuffer(size); +} + +void RendererBackend::assumeFramebufferBinding(const gl::FramebufferID fbo) { + getContext().bindFramebuffer.setCurrentValue(fbo); + if (fbo != ImplicitFramebufferBinding) { + assert(gl::value::BindFramebuffer::Get() == getContext().bindFramebuffer.getCurrentValue()); + } +} + +void RendererBackend::assumeViewport(int32_t x, int32_t y, const Size& size) { + getContext().viewport.setCurrentValue({ x, y, size }); + assert(gl::value::Viewport::Get() == getContext().viewport.getCurrentValue()); +} + +void RendererBackend::assumeScissorTest(bool enabled) { + getContext().scissorTest.setCurrentValue(enabled); + assert(gl::value::ScissorTest::Get() == getContext().scissorTest.getCurrentValue()); +} + +bool RendererBackend::implicitFramebufferBound() { + return getContext().bindFramebuffer.getCurrentValue() == ImplicitFramebufferBinding; +} + +void RendererBackend::setFramebufferBinding(const gl::FramebufferID fbo) { + getContext().bindFramebuffer = fbo; + if (fbo != ImplicitFramebufferBinding) { + assert(gl::value::BindFramebuffer::Get() == getContext().bindFramebuffer.getCurrentValue()); + } +} + +void RendererBackend::setViewport(int32_t x, int32_t y, const Size& size) { + getContext().viewport = { x, y, size }; + assert(gl::value::Viewport::Get() == getContext().viewport.getCurrentValue()); +} + +void RendererBackend::setScissorTest(bool enabled) { + getContext().scissorTest = enabled; + assert(gl::value::ScissorTest::Get() == getContext().scissorTest.getCurrentValue()); +} + +RendererBackend::~RendererBackend() = default; + +} // namespace mbgl diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp index accdbc1332..38aaf95671 100644 --- a/src/mbgl/renderer/renderer_impl.cpp +++ b/src/mbgl/renderer/renderer_impl.cpp @@ -5,7 +5,7 @@ #include #include #include -#include +#include namespace mbgl { @@ -14,7 +14,7 @@ static RendererObserver& nullObserver() { return observer; } -Renderer::Impl::Impl(Backend& backend_, +Renderer::Impl::Impl(RendererBackend& backend_, float pixelRatio_, FileSource& fileSource_, Scheduler& scheduler_, diff --git a/src/mbgl/renderer/renderer_impl.hpp b/src/mbgl/renderer/renderer_impl.hpp index 645b33b354..2294dde91e 100644 --- a/src/mbgl/renderer/renderer_impl.hpp +++ b/src/mbgl/renderer/renderer_impl.hpp @@ -1,11 +1,10 @@ #pragma once #include +#include #include #include #include -#include - #include #include @@ -25,7 +24,7 @@ class View; class Renderer::Impl : public RenderStyleObserver { public: - Impl(Backend&, float pixelRatio_, FileSource&, Scheduler&, GLContextMode, + Impl(RendererBackend&, float pixelRatio_, FileSource&, Scheduler&, GLContextMode, const optional programCacheDir); ~Impl() final; @@ -47,7 +46,7 @@ public: private: friend class Renderer; - Backend& backend; + RendererBackend& backend; RendererObserver* observer; -- cgit v1.2.1