diff options
Diffstat (limited to 'src/mbgl/gfx/debug_group.hpp')
-rw-r--r-- | src/mbgl/gfx/debug_group.hpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/mbgl/gfx/debug_group.hpp b/src/mbgl/gfx/debug_group.hpp new file mode 100644 index 0000000000..b7a25ad467 --- /dev/null +++ b/src/mbgl/gfx/debug_group.hpp @@ -0,0 +1,28 @@ +#pragma once + +namespace mbgl { +namespace gfx { + +template <typename T> +class DebugGroup { +public: + DebugGroup(T& scope_, const char* name) : scope(&scope_) { + scope->pushDebugGroup(name); + } + + DebugGroup(DebugGroup&& rhs) : scope(rhs.scope) { + rhs.scope = nullptr; + } + + ~DebugGroup() { + if (scope) { + scope->popDebugGroup(); + } + } + +private: + T* scope; +}; + +} // namespace gfx +} // namespace mbgl |