summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2017-10-31 15:19:10 +0200
committerBruno de Oliveira Abinader <bruno@mapbox.com>2017-11-01 17:45:37 +0200
commite350ef37fe68312c4b5fb03b289a90c0bdda4f03 (patch)
treeeb2b2e5de284499dbd1267d3a4038898b95725ff
parent388610d6aa39bed18cf89306e4b1d2d75ff5216f (diff)
downloadqtlocation-mapboxgl-e350ef37fe68312c4b5fb03b289a90c0bdda4f03.tar.gz
[core] Expose ColorMask in gl::Context::clear()
-rw-r--r--src/mbgl/gl/context.cpp9
-rw-r--r--src/mbgl/gl/context.hpp3
-rw-r--r--src/mbgl/renderer/renderer_impl.cpp5
3 files changed, 10 insertions, 7 deletions
diff --git a/src/mbgl/gl/context.cpp b/src/mbgl/gl/context.cpp
index 22b446e6d0..e04f134f39 100644
--- a/src/mbgl/gl/context.cpp
+++ b/src/mbgl/gl/context.cpp
@@ -590,13 +590,14 @@ void Context::setDirtyState() {
void Context::clear(optional<mbgl::Color> color,
optional<float> depth,
- optional<int32_t> stencil) {
+ optional<int32_t> stencil,
+ optional<ColorMode::Mask> colorMask_) {
GLbitfield mask = 0;
if (color) {
mask |= GL_COLOR_BUFFER_BIT;
clearColor = *color;
- colorMask = { true, true, true, true };
+ colorMask = colorMask_ ? *colorMask_ : value::ColorMask::Default;
}
if (depth) {
@@ -612,6 +613,10 @@ void Context::clear(optional<mbgl::Color> color,
}
MBGL_CHECK_ERROR(glClear(mask));
+
+ if (colorMask_) {
+ colorMask = value::ColorMask::Default;
+ }
}
#if not MBGL_USE_GLES2
diff --git a/src/mbgl/gl/context.hpp b/src/mbgl/gl/context.hpp
index 528113cbba..2d650e7ecb 100644
--- a/src/mbgl/gl/context.hpp
+++ b/src/mbgl/gl/context.hpp
@@ -146,7 +146,8 @@ public:
void clear(optional<mbgl::Color> color,
optional<float> depth,
- optional<int32_t> stencil);
+ optional<int32_t> stencil,
+ optional<ColorMode::Mask> colorMask = value::ColorMask::Default);
void setDrawMode(const Points&);
void setDrawMode(const Lines&);
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp
index 6a8c18792e..cbdcbf2f96 100644
--- a/src/mbgl/renderer/renderer_impl.cpp
+++ b/src/mbgl/renderer/renderer_impl.cpp
@@ -437,10 +437,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
MBGL_DEBUG_GROUP(parameters.context, "clear");
parameters.backend.bind();
parameters.context.clear((parameters.debugOptions & MapDebugOptions::Overdraw)
- ? Color::black()
- : backgroundColor,
- 1.0f,
- 0);
+ ? Color::black() : backgroundColor);
}
// - CLIPPING MASKS ----------------------------------------------------------------------------