[core] rename backend to renderer backend

This commit is contained in:
Ivo van Dongen
2017-07-05 20:08:51 +03:00
committed by Ivo van Dongen
parent ee205ca9ca
commit 46c43510d7
29 changed files with 68 additions and 70 deletions

View File

@@ -2,11 +2,11 @@
#include <mbgl/benchmark/util.hpp>
#include <mbgl/map/map.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/gl/offscreen_view.hpp>
#include <mbgl/util/default_thread_pool.hpp>
#include <mbgl/renderer/renderer.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/renderer/async_renderer_frontend.hpp>
#include <mbgl/style/style.hpp>
#include <mbgl/style/image.hpp>

View File

@@ -3,12 +3,11 @@
#include <mbgl/benchmark/util.hpp>
#include <mbgl/map/map.hpp>
#include <mbgl/map/map_observer.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/map/map_observer.hpp>
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/gl/offscreen_view.hpp>
#include <mbgl/util/default_thread_pool.hpp>
#include <mbgl/renderer/renderer.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/renderer/async_renderer_frontend.hpp>
#include <mbgl/style/style.hpp>
#include <mbgl/style/image.hpp>

View File

@@ -1,5 +1,4 @@
#include <mbgl/map/map.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/util/image.hpp>
#include <mbgl/util/run_loop.hpp>
@@ -9,6 +8,7 @@
#include <mbgl/storage/default_file_source.hpp>
#include <mbgl/style/style.hpp>
#include <mbgl/renderer/renderer.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/renderer/async_renderer_frontend.hpp>
#pragma GCC diagnostic push

View File

@@ -101,16 +101,12 @@ set(MBGL_CORE_FILES
src/mbgl/layout/symbol_projection.hpp
# map
include/mbgl/map/backend.hpp
include/mbgl/map/backend_scope.hpp
include/mbgl/map/camera.hpp
include/mbgl/map/change.hpp
include/mbgl/map/map.hpp
include/mbgl/map/map_observer.hpp
include/mbgl/map/mode.hpp
include/mbgl/map/view.hpp
src/mbgl/map/backend.cpp
src/mbgl/map/backend_scope.cpp
src/mbgl/map/map.cpp
src/mbgl/map/transform.cpp
src/mbgl/map/transform.hpp
@@ -159,9 +155,12 @@ set(MBGL_CORE_FILES
src/mbgl/programs/uniforms.hpp
# renderer
include/mbgl/renderer/backend_scope.hpp
include/mbgl/renderer/query.hpp
include/mbgl/renderer/renderer.hpp
include/mbgl/renderer/renderer_backend.hpp
include/mbgl/renderer/renderer_frontend.hpp
src/mbgl/renderer/backend_scope.cpp
src/mbgl/renderer/bucket.hpp
src/mbgl/renderer/bucket_parameters.cpp
src/mbgl/renderer/bucket_parameters.hpp
@@ -199,6 +198,7 @@ set(MBGL_CORE_FILES
src/mbgl/renderer/render_tile.cpp
src/mbgl/renderer/render_tile.hpp
src/mbgl/renderer/renderer.cpp
src/mbgl/renderer/renderer_backend.cpp
src/mbgl/renderer/renderer_impl.cpp
src/mbgl/renderer/renderer_impl.hpp
src/mbgl/renderer/renderer_observer.hpp

View File

@@ -2,7 +2,7 @@
namespace mbgl {
class Backend;
class RendererBackend;
class BackendScope {
public:
@@ -15,7 +15,7 @@ public:
Explicit,
};
BackendScope(Backend&, ScopeType = ScopeType::Explicit);
BackendScope(RendererBackend&, ScopeType = ScopeType::Explicit);
~BackendScope();
// Returns true when there is currently a BackendScope active in this thread.
@@ -24,7 +24,7 @@ public:
private:
BackendScope* priorScope;
BackendScope* nextScope;
Backend& backend;
RendererBackend& backend;
const ScopeType scopeType;
};

View File

@@ -13,8 +13,8 @@
namespace mbgl {
class Backend;
class FileSource;
class RendererBackend;
class RendererObserver;
class RenderedQueryOptions;
class Scheduler;
@@ -24,7 +24,7 @@ class View;
class Renderer {
public:
Renderer(Backend&, float pixelRatio_, FileSource&, Scheduler&,
Renderer(RendererBackend&, float pixelRatio_, FileSource&, Scheduler&,
GLContextMode = GLContextMode::Unique,
const optional<std::string> programCacheDir = optional<std::string>());
~Renderer();

View File

@@ -1,7 +1,7 @@
#pragma once
#include <mbgl/map/view.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/util/image.hpp>
#include <mbgl/util/size.hpp>
@@ -16,10 +16,12 @@ using ProcAddress = void (*)();
using FramebufferID = uint32_t;
} // namespace gl
class Backend {
// The RendererBackend is used by the Renderer to facilitate
// the actual rendering.
class RendererBackend {
public:
Backend();
virtual ~Backend();
RendererBackend();
virtual ~RendererBackend();
// Returns the backend's context which manages OpenGL state.
gl::Context& getContext();
@@ -27,26 +29,24 @@ public:
// Called prior to rendering to update the internally assumed OpenGL state.
virtual void updateAssumedState() = 0;
inline virtual BackendScope::ScopeType getScopeType() const {
virtual BackendScope::ScopeType getScopeType() const {
return BackendScope::ScopeType::Explicit;
};
}
protected:
// Called with the name of an OpenGL extension that should be loaded. Backend implementations
// Called with the name of an OpenGL extension that should be loaded. RendererBackend implementations
// must call the API-specific version that obtains the function pointer for this function,
// or a null pointer if unsupported/unavailable.
virtual gl::ProcAddress initializeExtension(const char*) = 0;
// Called when the backend's GL context needs to be made active or inactive. These are called,
// as a matched pair, in four situations:
// as a matched pair, exclusively through BackendScope, in two situations:
//
// 1. When releasing GL resources during Map destruction
// 2. When calling a CustomLayerInitializeFunction, during Map::addLayer
// 3. When calling a CustomLayerDeinitializeFunction, during Map::removeLayer
// 4. When rendering for Map::renderStill
//
// They are *not* called for Map::render; it is assumed that the correct context is already
// activated prior to calling Map::render.
// 1. When releasing GL resources during Renderer destruction
// (Including calling CustomLayerDeinitializeFunction during RenderCustomLayer destruction)
// 2. When renderering through Renderer::render()
// (Including calling CustomLayerDeinitializeFunction for newly added custom layers and
// CustomLayerDeinitializeFunction on layer removal)
virtual void activate() = 0;
virtual void deactivate() = 0;

View File

@@ -1,7 +1,7 @@
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/gl/headless_display.hpp>
#include <mbgl/gl/context.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <cassert>
#include <stdexcept>

View File

@@ -1,6 +1,6 @@
#pragma once
#include <mbgl/map/backend.hpp>
#include <mbgl/renderer/renderer_backend.hpp>
#include <memory>
#include <functional>
@@ -9,7 +9,7 @@ namespace mbgl {
class HeadlessDisplay;
class HeadlessBackend : public Backend {
class HeadlessBackend : public RendererBackend {
public:
HeadlessBackend();
HeadlessBackend(std::shared_ptr<HeadlessDisplay>);

View File

@@ -1,6 +1,6 @@
#include <mbgl/util/thread_local.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/util/logging.hpp>
#include <mbgl/util/run_loop.hpp>

View File

@@ -1,5 +1,5 @@
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/map/backend.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/renderer/renderer_backend.hpp>
#include <mbgl/util/thread_local.hpp>
#include <cassert>
@@ -8,7 +8,7 @@ namespace mbgl {
static util::ThreadLocal<BackendScope> currentScope;
BackendScope::BackendScope(Backend& backend_, ScopeType scopeType_)
BackendScope::BackendScope(RendererBackend& backend_, ScopeType scopeType_)
: priorScope(currentScope.get()),
nextScope(nullptr),
backend(backend_),

View File

@@ -3,7 +3,7 @@
#include <mbgl/renderer/paint_parameters.hpp>
#include <mbgl/style/layers/custom_layer_impl.hpp>
#include <mbgl/map/transform_state.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
namespace mbgl {

View File

@@ -15,6 +15,7 @@
#include <mbgl/renderer/layers/render_line_layer.hpp>
#include <mbgl/renderer/layers/render_raster_layer.hpp>
#include <mbgl/renderer/layers/render_symbol_layer.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/renderer/style_diff.hpp>
#include <mbgl/renderer/image_manager.hpp>
#include <mbgl/renderer/query.hpp>
@@ -24,7 +25,6 @@
#include <mbgl/sprite/sprite_loader.hpp>
#include <mbgl/text/glyph_manager.hpp>
#include <mbgl/geometry/line_atlas.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/tile/tile.hpp>
#include <mbgl/util/math.hpp>
#include <mbgl/util/string.hpp>

View File

@@ -5,7 +5,7 @@
namespace mbgl {
Renderer::Renderer(Backend& backend,
Renderer::Renderer(RendererBackend& backend,
float pixelRatio_,
FileSource& fileSource_,
Scheduler& scheduler_,

View File

@@ -1,5 +1,5 @@
#include <mbgl/map/backend.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/renderer_backend.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/gl/context.hpp>
#include <mbgl/gl/extension.hpp>
#include <mbgl/gl/debugging.hpp>
@@ -8,62 +8,62 @@
namespace mbgl {
Backend::Backend() = default;
RendererBackend::RendererBackend() = default;
gl::Context& Backend::getContext() {
gl::Context& RendererBackend::getContext() {
assert(BackendScope::exists());
std::call_once(initialized, [this] {
context = std::make_unique<gl::Context>();
context->enableDebugging();
context->initializeExtensions(
std::bind(&Backend::initializeExtension, this, std::placeholders::_1));
std::bind(&RendererBackend::initializeExtension, this, std::placeholders::_1));
});
return *context;
}
PremultipliedImage Backend::readFramebuffer(const Size& size) const {
PremultipliedImage RendererBackend::readFramebuffer(const Size& size) const {
assert(context);
return context->readFramebuffer<PremultipliedImage>(size);
}
void Backend::assumeFramebufferBinding(const gl::FramebufferID fbo) {
void RendererBackend::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) {
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 Backend::assumeScissorTest(bool enabled) {
void RendererBackend::assumeScissorTest(bool enabled) {
getContext().scissorTest.setCurrentValue(enabled);
assert(gl::value::ScissorTest::Get() == getContext().scissorTest.getCurrentValue());
}
bool Backend::implicitFramebufferBound() {
bool RendererBackend::implicitFramebufferBound() {
return getContext().bindFramebuffer.getCurrentValue() == ImplicitFramebufferBinding;
}
void Backend::setFramebufferBinding(const gl::FramebufferID fbo) {
void RendererBackend::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) {
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 Backend::setScissorTest(bool enabled) {
void RendererBackend::setScissorTest(bool enabled) {
getContext().scissorTest = enabled;
assert(gl::value::ScissorTest::Get() == getContext().scissorTest.getCurrentValue());
}
Backend::~Backend() = default;
RendererBackend::~RendererBackend() = default;
} // namespace mbgl

View File

@@ -5,7 +5,7 @@
#include <mbgl/renderer/painter.hpp>
#include <mbgl/renderer/update_parameters.hpp>
#include <mbgl/map/transform_state.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
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_,

View File

@@ -1,11 +1,10 @@
#pragma once
#include <mbgl/renderer/renderer.hpp>
#include <mbgl/renderer/renderer_backend.hpp>
#include <mbgl/renderer/renderer_observer.hpp>
#include <mbgl/renderer/render_style_observer.hpp>
#include <mbgl/style/style.hpp>
#include <mbgl/map/backend.hpp>
#include <memory>
#include <string>
@@ -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<std::string> programCacheDir);
~Impl() final;
@@ -47,7 +46,7 @@ public:
private:
friend class Renderer;
Backend& backend;
RendererBackend& backend;
RendererObserver* observer;

View File

@@ -6,7 +6,7 @@
#include <mbgl/style/style.hpp>
#include <mbgl/style/image.hpp>
#include <mbgl/map/map.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/gl/offscreen_view.hpp>
#include <mbgl/util/io.hpp>

View File

@@ -3,7 +3,7 @@
#include <mbgl/test/fixture_log_observer.hpp>
#include <mbgl/map/map.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/gl/offscreen_view.hpp>
#include <mbgl/test/stub_renderer_frontend.hpp>

View File

@@ -2,7 +2,7 @@
#include <mbgl/gl/gl.hpp>
#include <mbgl/map/map.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/gl/offscreen_view.hpp>
#include <mbgl/util/default_thread_pool.hpp>

View File

@@ -1,5 +1,5 @@
#include <mbgl/map/map.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/gl/offscreen_view.hpp>
#include <mbgl/util/default_thread_pool.hpp>

View File

@@ -2,7 +2,7 @@
#include <mbgl/test/fixture_log_observer.hpp>
#include <mbgl/map/map.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/gl/offscreen_view.hpp>
#include <mbgl/util/default_thread_pool.hpp>

View File

@@ -2,7 +2,7 @@
#include <mbgl/test/fixture_log_observer.hpp>
#include <mbgl/map/map.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/gl/offscreen_view.hpp>
#include <mbgl/util/default_thread_pool.hpp>

View File

@@ -1,6 +1,6 @@
#include <mbgl/test/util.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/gl/offscreen_view.hpp>

View File

@@ -4,7 +4,7 @@
#include <mbgl/test/fixture_log_observer.hpp>
#include <mbgl/map/map.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/gl/offscreen_view.hpp>
#include <mbgl/gl/context.hpp>

View File

@@ -3,9 +3,9 @@
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/gl/offscreen_view.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/map/map.hpp>
#include <mbgl/renderer/renderer.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/storage/default_file_source.hpp>
#include <mbgl/style/style.hpp>
#include <mbgl/util/default_thread_pool.hpp>

View File

@@ -13,7 +13,7 @@
#include <mbgl/annotation/annotation_tile.hpp>
#include <mbgl/renderer/image_manager.hpp>
#include <mbgl/text/glyph_manager.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/style/style.hpp>

View File

@@ -3,7 +3,7 @@
#include <mbgl/test/util.hpp>
#include <mbgl/map/map.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/gl/offscreen_view.hpp>
#include <mbgl/util/default_thread_pool.hpp>

View File

@@ -4,7 +4,7 @@
#include <mbgl/gl/context.hpp>
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/gl/offscreen_view.hpp>
#include <mbgl/map/backend_scope.hpp>
#include <mbgl/renderer/backend_scope.hpp>
#include <mbgl/util/offscreen_texture.hpp>