// 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