OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef GPU_COMMAND_BUFFER_SERVICE_DEBUG_MARKER_MANAGER_H_ | |
6 #define GPU_COMMAND_BUFFER_SERVICE_DEBUG_MARKER_MANAGER_H_ | |
7 | |
8 #include <stack> | |
9 #include <string> | |
10 #include "../../gpu_export.h" | |
11 | |
12 namespace gpu { | |
13 namespace gles2 { | |
14 | |
15 // Tracks debug marker. | |
16 class GPU_EXPORT DebugMarkerManager { | |
17 public: | |
18 DebugMarkerManager(); | |
19 ~DebugMarkerManager(); | |
20 | |
21 // Gets the current marker on the top group. | |
22 const std::string& GetMarker() const; | |
23 // Sets the current marker on the top group. | |
24 void SetMarker(const std::string& marker); | |
25 // Pushes a new group. | |
26 void PushGroup(const std::string& name); | |
27 // Removes the top group. This is safe to call even when stack is empty. | |
28 void PopGroup(void); | |
29 | |
30 private: | |
31 // Info about Buffers currently in the system. | |
32 class Group { | |
33 public: | |
34 explicit Group(const std::string& name); | |
35 ~Group(); | |
36 | |
37 const std::string& name() const { | |
38 return name_; | |
39 } | |
40 | |
41 void SetMarker(const std::string& marker); | |
42 | |
43 const std::string& marker() const { | |
44 return marker_; | |
45 } | |
46 | |
47 private: | |
48 std::string name_; | |
49 std::string marker_; | |
50 }; | |
51 | |
52 typedef std::stack<Group> GroupStack; | |
53 | |
54 GroupStack group_stack_; | |
55 std::string empty_; | |
apatrick_chromium
2012/08/10 19:29:31
Is this used for anything?
greggman
2012/08/11 00:17:30
Done.
| |
56 }; | |
apatrick_chromium
2012/08/10 19:29:31
DISALLOW_COPY_AND_ASSIGN
greggman
2012/08/11 00:17:30
can't use base here
| |
57 | |
58 } // namespace gles2 | |
59 } // namespace gpu | |
60 | |
61 #endif // GPU_COMMAND_BUFFER_SERVICE_DEBUG_MARKER_MANAGER_H_ | |
62 | |
OLD | NEW |