summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/renderer_impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/renderer_impl.cpp')
-rw-r--r--src/mbgl/renderer/renderer_impl.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp
index 2f97e4fc33..9352fae471 100644
--- a/src/mbgl/renderer/renderer_impl.cpp
+++ b/src/mbgl/renderer/renderer_impl.cpp
@@ -40,13 +40,11 @@ static RendererObserver& nullObserver() {
Renderer::Impl::Impl(gfx::RendererBackend& backend_,
float pixelRatio_,
Scheduler& scheduler_,
- GLContextMode contextMode_,
const optional<std::string> programCacheDir_,
const optional<std::string> localFontFamily_)
: backend(backend_)
, scheduler(scheduler_)
, observer(&nullObserver())
- , contextMode(contextMode_)
, pixelRatio(pixelRatio_)
, programCacheDir(std::move(programCacheDir_))
, localFontFamily(std::move(localFontFamily_))
@@ -267,9 +265,8 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
}
// Handle layers without source.
- if (layerNeedsRendering && sourceImpl.get() == sourceImpls->at(0).get()) {
- if (contextMode == GLContextMode::Unique
- && layerImpl.get() == layerImpls->at(0).get()) {
+ if (layerNeedsRendering && sourceImpl.get() == sourceImpls->at(0).get()) {
+ if (!backend.contextIsShared() && layerImpl.get() == layerImpls->at(0).get()) {
const auto& solidBackground = layer->getSolidBackground();
if (solidBackground) {
backgroundColor = *solidBackground;
@@ -358,7 +355,6 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
PaintParameters parameters {
backend.getContext(),
pixelRatio,
- contextMode,
backend,
updateParameters,
renderLight.getEvaluated(),
@@ -373,7 +369,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
// TODO: remove cast
gl::Context& glContext = static_cast<gl::Context&>(parameters.context);
- if (parameters.contextMode == GLContextMode::Shared) {
+ if (backend.contextIsShared()) {
glContext.setDirtyState();
}
@@ -428,7 +424,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
parameters.backend.getDefaultRenderable().getResource<gl::RenderableResource>().bind();
if (parameters.debugOptions & MapDebugOptions::Overdraw) {
glContext.clear(Color::black(), ClearDepth::Default, ClearStencil::Default);
- } else if (parameters.contextMode == GLContextMode::Shared) {
+ } else if (backend.contextIsShared()) {
glContext.clear({}, ClearDepth::Default, ClearStencil::Default);
} else {
glContext.clear(backgroundColor, ClearDepth::Default, ClearStencil::Default);