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

Side by Side Diff: content/common/gpu/gpu_memory_tracking.h

Issue 11516014: Track managed memory usage in the command buffer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix unit test compile error Created 8 years 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 #ifndef CONTENT_COMMON_GPU_GPU_MEMORY_TRACKING_H_ 5 #ifndef CONTENT_COMMON_GPU_GPU_MEMORY_TRACKING_H_
6 #define CONTENT_COMMON_GPU_GPU_MEMORY_TRACKING_H_ 6 #define CONTENT_COMMON_GPU_GPU_MEMORY_TRACKING_H_
7 7
8 #if defined(ENABLE_GPU) 8 #if defined(ENABLE_GPU)
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 11 matching lines...) Expand all
22 GpuMemoryManager* memory_manager) 22 GpuMemoryManager* memory_manager)
23 : pid_(pid), 23 : pid_(pid),
24 size_(0), 24 size_(0),
25 memory_tracker_(memory_tracker), 25 memory_tracker_(memory_tracker),
26 memory_manager_(memory_manager) { 26 memory_manager_(memory_manager) {
27 memory_manager_->AddTrackingGroup(this); 27 memory_manager_->AddTrackingGroup(this);
28 } 28 }
29 ~GpuMemoryTrackingGroup() { 29 ~GpuMemoryTrackingGroup() {
30 memory_manager_->RemoveTrackingGroup(this); 30 memory_manager_->RemoveTrackingGroup(this);
31 } 31 }
32 void TrackMemoryAllocatedChange(size_t old_size, size_t new_size) { 32 void TrackMemoryAllocatedChange(
33 size_t old_size,
34 size_t new_size,
35 gpu::gles2::MemoryTracker::Pool tracking_pool) {
33 if (old_size < new_size) { 36 if (old_size < new_size) {
34 size_t delta = new_size - old_size; 37 size_t delta = new_size - old_size;
35 size_ += delta; 38 size_ += delta;
36 } 39 }
37 if (new_size < old_size) { 40 if (new_size < old_size) {
38 size_t delta = old_size - new_size; 41 size_t delta = old_size - new_size;
39 DCHECK(size_ >= delta); 42 DCHECK(size_ >= delta);
40 size_ -= delta; 43 size_ -= delta;
41 } 44 }
42 memory_manager_->TrackMemoryAllocatedChange(old_size, new_size); 45 memory_manager_->TrackMemoryAllocatedChange(
46 old_size, new_size, tracking_pool);
43 } 47 }
44 base::ProcessId GetPid() const { 48 base::ProcessId GetPid() const {
45 return pid_; 49 return pid_;
46 } 50 }
47 size_t GetSize() const { 51 size_t GetSize() const {
48 return size_; 52 return size_;
49 } 53 }
50 gpu::gles2::MemoryTracker* GetMemoryTracker() const { 54 gpu::gles2::MemoryTracker* GetMemoryTracker() const {
51 return memory_tracker_; 55 return memory_tracker_;
52 } 56 }
53 57
54 private: 58 private:
55 base::ProcessId pid_; 59 base::ProcessId pid_;
56 size_t size_; 60 size_t size_;
57 gpu::gles2::MemoryTracker* memory_tracker_; 61 gpu::gles2::MemoryTracker* memory_tracker_;
58 GpuMemoryManager* memory_manager_; 62 GpuMemoryManager* memory_manager_;
59 }; 63 };
60 64
61 } // namespace content 65 } // namespace content
62 66
63 #endif 67 #endif
64 68
65 #endif // CONTENT_COMMON_GPU_GPU_MEMORY_TRACKING_H_ 69 #endif // CONTENT_COMMON_GPU_GPU_MEMORY_TRACKING_H_
OLDNEW
« no previous file with comments | « content/common/gpu/gpu_memory_manager_unittest.cc ('k') | gpu/command_buffer/service/buffer_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698