| Index: gpu/command_buffer/common/debug_marker_manager.cc
|
| diff --git a/gpu/command_buffer/common/debug_marker_manager.cc b/gpu/command_buffer/common/debug_marker_manager.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f0127d521c191157edc17c01e1bf96148d63fe04
|
| --- /dev/null
|
| +++ b/gpu/command_buffer/common/debug_marker_manager.cc
|
| @@ -0,0 +1,51 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "gpu/command_buffer/common/debug_marker_manager.h"
|
| +
|
| +namespace gpu {
|
| +namespace gles2 {
|
| +
|
| +DebugMarkerManager::Group::Group(const std::string& name)
|
| + : name_(name),
|
| + marker_(name) {
|
| +}
|
| +
|
| +DebugMarkerManager::Group::~Group() {
|
| +}
|
| +
|
| +void DebugMarkerManager::Group::SetMarker(const std::string& marker) {
|
| + marker_ = name_ + "." + marker;
|
| +}
|
| +
|
| +DebugMarkerManager::DebugMarkerManager() {
|
| + // Push root group.
|
| + group_stack_.push(Group(std::string("")));
|
| +};
|
| +
|
| +DebugMarkerManager::~DebugMarkerManager() {
|
| +}
|
| +
|
| +void DebugMarkerManager::SetMarker(const std::string& marker) {
|
| + group_stack_.top().SetMarker(marker);
|
| +}
|
| +
|
| +const std::string& DebugMarkerManager::GetMarker() const {
|
| + return group_stack_.top().marker();
|
| +}
|
| +
|
| +void DebugMarkerManager::PushGroup(const std::string& name) {
|
| + group_stack_.push(Group(group_stack_.top().name() + "." + name));
|
| +}
|
| +
|
| +void DebugMarkerManager::PopGroup(void) {
|
| + if (group_stack_.size() > 1) {
|
| + group_stack_.pop();
|
| + }
|
| +}
|
| +
|
| +} // namespace gles2
|
| +} // namespace gpu
|
| +
|
| +
|
|
|