From a709ea26569351e2c60b497bb427c608ef9a20c5 Mon Sep 17 00:00:00 2001 From: Bruno de Oliveira Abinader Date: Fri, 15 Jul 2016 14:49:43 +0300 Subject: [PATCH] [core] Make MapDebugOptions::Overdraw a no-op in Release mode --- src/mbgl/renderer/painter.cpp | 6 ++++++ src/mbgl/renderer/painter.hpp | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index 0975203c5..bcae78cb4 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(store); +#if defined(DEBUG) overdrawShaders = std::make_unique(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 3bb05a66d..5248cd510 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; +#if defined(DEBUG) std::unique_ptr overdrawShaders; +#endif // Set up the stencil quad we're using to generate the stencil mask. StaticVertexBuffer tileStencilBuffer {