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 #include "content/common/gpu/gpu_memory_manager.h" | 5 #include "content/common/gpu/gpu_memory_manager.h" |
6 #include "content/common/gpu/gpu_memory_manager_client.h" | 6 #include "content/common/gpu/gpu_memory_manager_client.h" |
7 #include "content/common/gpu/gpu_memory_tracking.h" | 7 #include "content/common/gpu/gpu_memory_tracking.h" |
8 #include "gpu/command_buffer/common/gpu_memory_allocation.h" | 8 #include "gpu/command_buffer/common/gpu_memory_allocation.h" |
9 #include "ui/gfx/size_conversions.h" | 9 #include "ui/gfx/size_conversions.h" |
10 | 10 |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 scoped_refptr<gpu::gles2::MemoryTracker> memory_tracker_; | 80 scoped_refptr<gpu::gles2::MemoryTracker> memory_tracker_; |
81 scoped_ptr<GpuMemoryTrackingGroup> tracking_group_; | 81 scoped_ptr<GpuMemoryTrackingGroup> tracking_group_; |
82 scoped_ptr<GpuMemoryManagerClientState> client_state_; | 82 scoped_ptr<GpuMemoryManagerClientState> client_state_; |
83 | 83 |
84 // This will create a client with no surface | 84 // This will create a client with no surface |
85 FakeClient(GpuMemoryManager* memmgr, GpuMemoryManagerClient* share_group) | 85 FakeClient(GpuMemoryManager* memmgr, GpuMemoryManagerClient* share_group) |
86 : memmgr_(memmgr), | 86 : memmgr_(memmgr), |
87 suggest_have_frontbuffer_(false), | 87 suggest_have_frontbuffer_(false), |
88 total_gpu_memory_(0), | 88 total_gpu_memory_(0), |
89 share_group_(share_group), | 89 share_group_(share_group), |
90 memory_tracker_(NULL) { | 90 memory_tracker_(nullptr) { |
91 if (!share_group_) { | 91 if (!share_group_) { |
92 memory_tracker_ = new FakeMemoryTracker(); | 92 memory_tracker_ = new FakeMemoryTracker(); |
93 tracking_group_.reset( | 93 tracking_group_.reset( |
94 memmgr_->CreateTrackingGroup(0, memory_tracker_.get())); | 94 memmgr_->CreateTrackingGroup(0, memory_tracker_.get())); |
95 } | 95 } |
96 client_state_.reset(memmgr_->CreateClientState(this, false, true)); | 96 client_state_.reset(memmgr_->CreateClientState(this, false, true)); |
97 } | 97 } |
98 | 98 |
99 // This will create a client with a surface | 99 // This will create a client with a surface |
100 FakeClient(GpuMemoryManager* memmgr, int32 surface_id, bool visible) | 100 FakeClient(GpuMemoryManager* memmgr, int32 surface_id, bool visible) |
101 : memmgr_(memmgr), | 101 : memmgr_(memmgr), |
102 suggest_have_frontbuffer_(false), | 102 suggest_have_frontbuffer_(false), |
103 total_gpu_memory_(0), | 103 total_gpu_memory_(0), |
104 share_group_(NULL), | 104 share_group_(nullptr), |
105 memory_tracker_(NULL) { | 105 memory_tracker_(nullptr) { |
106 memory_tracker_ = new FakeMemoryTracker(); | 106 memory_tracker_ = new FakeMemoryTracker(); |
107 tracking_group_.reset( | 107 tracking_group_.reset( |
108 memmgr_->CreateTrackingGroup(0, memory_tracker_.get())); | 108 memmgr_->CreateTrackingGroup(0, memory_tracker_.get())); |
109 client_state_.reset( | 109 client_state_.reset( |
110 memmgr_->CreateClientState(this, surface_id != 0, visible)); | 110 memmgr_->CreateClientState(this, surface_id != 0, visible)); |
111 } | 111 } |
112 | 112 |
113 virtual ~FakeClient() { | 113 virtual ~FakeClient() { |
114 client_state_.reset(); | 114 client_state_.reset(); |
115 tracking_group_.reset(); | 115 tracking_group_.reset(); |
116 memory_tracker_ = NULL; | 116 memory_tracker_ = nullptr; |
117 } | 117 } |
118 | 118 |
119 virtual void SetMemoryAllocation(const MemoryAllocation& alloc) override { | 119 virtual void SetMemoryAllocation(const MemoryAllocation& alloc) override { |
120 allocation_ = alloc; | 120 allocation_ = alloc; |
121 ClientAssignmentCollector::AddClientStat(this, alloc); | 121 ClientAssignmentCollector::AddClientStat(this, alloc); |
122 } | 122 } |
123 | 123 |
124 virtual void SuggestHaveFrontBuffer(bool suggest_have_frontbuffer) override { | 124 virtual void SuggestHaveFrontBuffer(bool suggest_have_frontbuffer) override { |
125 suggest_have_frontbuffer_ = suggest_have_frontbuffer; | 125 suggest_have_frontbuffer_ = suggest_have_frontbuffer; |
126 } | 126 } |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
410 stub_ignore_c.SetVisible(true); | 410 stub_ignore_c.SetVisible(true); |
411 stub_ignore_c.SetVisible(false); | 411 stub_ignore_c.SetVisible(false); |
412 Manage(); | 412 Manage(); |
413 EXPECT_TRUE(IsAllocationHibernatedForSurfaceYes(stub1.allocation_)); | 413 EXPECT_TRUE(IsAllocationHibernatedForSurfaceYes(stub1.allocation_)); |
414 EXPECT_TRUE(IsAllocationHibernatedForSurfaceYes(stub2.allocation_)); | 414 EXPECT_TRUE(IsAllocationHibernatedForSurfaceYes(stub2.allocation_)); |
415 EXPECT_TRUE(IsAllocationHibernatedForSurfaceNo(stub3.allocation_)); | 415 EXPECT_TRUE(IsAllocationHibernatedForSurfaceNo(stub3.allocation_)); |
416 EXPECT_TRUE(IsAllocationHibernatedForSurfaceNo(stub4.allocation_)); | 416 EXPECT_TRUE(IsAllocationHibernatedForSurfaceNo(stub4.allocation_)); |
417 } | 417 } |
418 | 418 |
419 } // namespace content | 419 } // namespace content |
OLD | NEW |