diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mbgl/renderer/painter.cpp | 6 | ||||
-rw-r--r-- | src/mbgl/renderer/painter.hpp | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index 0975203c50..bcae78cb42 100644 --- a/src/mbgl/renderer/painter.cpp +++ b/src/mbgl/renderer/painter.cpp @@ -46,7 +46,9 @@ Painter::Painter(const TransformState& state_, gl::debugging::enable(); shaders = std::make_unique<Shaders>(store); +#if defined(DEBUG) overdrawShaders = std::make_unique<Shaders>(store, Shader::Overdraw); +#endif // Reset GL values config.setDirty(); @@ -69,7 +71,11 @@ void Painter::render(const Style& style, const FrameData& frame_, SpriteAtlas& a frame = frame_; PaintParameters parameters { +#if defined(DEBUG) isOverdraw() ? *overdrawShaders : *shaders +#else + *shaders +#endif }; glyphAtlas = style.glyphAtlas.get(); diff --git a/src/mbgl/renderer/painter.hpp b/src/mbgl/renderer/painter.hpp index 3bb05a66dc..5248cd5104 100644 --- a/src/mbgl/renderer/painter.hpp +++ b/src/mbgl/renderer/painter.hpp @@ -139,7 +139,11 @@ private: void setDepthSublayer(int n); +#if defined(DEBUG) bool isOverdraw() const { return frame.debugOptions & MapDebugOptions::Overdraw; } +#else + bool isOverdraw() const { return false; } +#endif mat4 projMatrix; @@ -174,7 +178,9 @@ private: FrameHistory frameHistory; std::unique_ptr<Shaders> shaders; +#if defined(DEBUG) std::unique_ptr<Shaders> overdrawShaders; +#endif // Set up the stencil quad we're using to generate the stencil mask. StaticVertexBuffer tileStencilBuffer { |