OLD | NEW |
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 Loading... |
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_ |
OLD | NEW |