Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Side by Side Diff: gpu/command_buffer/service/renderbuffer_manager.cc

Issue 10796096: Add tracing of all memory allocated in all contexts (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More trybot constructor fixes Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "gpu/command_buffer/service/renderbuffer_manager.h" 5 #include "gpu/command_buffer/service/renderbuffer_manager.h"
6 #include "base/logging.h" 6 #include "base/logging.h"
7 #include "base/debug/trace_event.h" 7 #include "base/debug/trace_event.h"
8 #include "gpu/command_buffer/common/gles2_cmd_utils.h" 8 #include "gpu/command_buffer/common/gles2_cmd_utils.h"
9 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" 9 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
10 #include "gpu/command_buffer/service/memory_tracking.h"
10 11
11 namespace gpu { 12 namespace gpu {
12 namespace gles2 { 13 namespace gles2 {
13 14
14 RenderbufferManager::RenderbufferManager( 15 RenderbufferManager::RenderbufferManager(
15 GLint max_renderbuffer_size, GLint max_samples) 16 MemoryTracker* memory_tracker,
16 : max_renderbuffer_size_(max_renderbuffer_size), 17 GLint max_renderbuffer_size,
18 GLint max_samples)
19 : renderbuffer_memory_tracker_(new MemoryTypeTracker(
20 memory_tracker,
21 "RenderbufferManager",
22 "RenderbufferMemory")),
23 max_renderbuffer_size_(max_renderbuffer_size),
17 max_samples_(max_samples), 24 max_samples_(max_samples),
18 num_uncleared_renderbuffers_(0), 25 num_uncleared_renderbuffers_(0),
19 mem_represented_(0), 26 mem_represented_(0),
20 renderbuffer_info_count_(0), 27 renderbuffer_info_count_(0),
21 have_context_(true) { 28 have_context_(true) {
22 UpdateMemRepresented(); 29 UpdateMemRepresented();
23 } 30 }
24 31
25 RenderbufferManager::~RenderbufferManager() { 32 RenderbufferManager::~RenderbufferManager() {
26 DCHECK(renderbuffer_infos_.empty()); 33 DCHECK(renderbuffer_infos_.empty());
(...skipping 14 matching lines...) Expand all
41 if (manager_->have_context_) { 48 if (manager_->have_context_) {
42 GLuint id = service_id(); 49 GLuint id = service_id();
43 glDeleteRenderbuffersEXT(1, &id); 50 glDeleteRenderbuffersEXT(1, &id);
44 } 51 }
45 manager_->StopTracking(this); 52 manager_->StopTracking(this);
46 manager_ = NULL; 53 manager_ = NULL;
47 } 54 }
48 } 55 }
49 56
50 void RenderbufferManager::UpdateMemRepresented() { 57 void RenderbufferManager::UpdateMemRepresented() {
51 TRACE_COUNTER_ID1( 58 renderbuffer_memory_tracker_->UpdateMemRepresented(mem_represented_);
52 "RenderbufferManager", "RenderbufferMemory", this, mem_represented_);
53 } 59 }
54 60
55 void RenderbufferManager::Destroy(bool have_context) { 61 void RenderbufferManager::Destroy(bool have_context) {
56 have_context_ = have_context; 62 have_context_ = have_context;
57 renderbuffer_infos_.clear(); 63 renderbuffer_infos_.clear();
58 DCHECK_EQ(0u, mem_represented_); 64 DCHECK_EQ(0u, mem_represented_);
59 UpdateMemRepresented(); 65 UpdateMemRepresented();
60 } 66 }
61 67
62 void RenderbufferManager::StartTracking(RenderbufferInfo* /* renderbuffer */) { 68 void RenderbufferManager::StartTracking(RenderbufferInfo* /* renderbuffer */) {
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 return true; 140 return true;
135 } 141 }
136 } 142 }
137 return false; 143 return false;
138 } 144 }
139 145
140 } // namespace gles2 146 } // namespace gles2
141 } // namespace gpu 147 } // namespace gpu
142 148
143 149
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/renderbuffer_manager.h ('k') | gpu/command_buffer/service/renderbuffer_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698