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 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 bytes_unmanaged_limit_step_); | 208 bytes_unmanaged_limit_step_); |
209 } | 209 } |
210 | 210 |
211 void GpuMemoryManager::ScheduleManage( | 211 void GpuMemoryManager::ScheduleManage( |
212 ScheduleManageTime schedule_manage_time) { | 212 ScheduleManageTime schedule_manage_time) { |
213 if (disable_schedule_manage_) | 213 if (disable_schedule_manage_) |
214 return; | 214 return; |
215 if (manage_immediate_scheduled_) | 215 if (manage_immediate_scheduled_) |
216 return; | 216 return; |
217 if (schedule_manage_time == kScheduleManageNow) { | 217 if (schedule_manage_time == kScheduleManageNow) { |
218 MessageLoop::current()->PostTask( | 218 base::MessageLoop::current()->PostTask( |
219 FROM_HERE, | 219 FROM_HERE, base::Bind(&GpuMemoryManager::Manage, AsWeakPtr())); |
220 base::Bind(&GpuMemoryManager::Manage, AsWeakPtr())); | |
221 manage_immediate_scheduled_ = true; | 220 manage_immediate_scheduled_ = true; |
222 if (!delayed_manage_callback_.IsCancelled()) | 221 if (!delayed_manage_callback_.IsCancelled()) |
223 delayed_manage_callback_.Cancel(); | 222 delayed_manage_callback_.Cancel(); |
224 } else { | 223 } else { |
225 if (!delayed_manage_callback_.IsCancelled()) | 224 if (!delayed_manage_callback_.IsCancelled()) |
226 return; | 225 return; |
227 delayed_manage_callback_.Reset(base::Bind(&GpuMemoryManager::Manage, | 226 delayed_manage_callback_.Reset(base::Bind(&GpuMemoryManager::Manage, |
228 AsWeakPtr())); | 227 AsWeakPtr())); |
229 MessageLoop::current()->PostDelayedTask( | 228 base::MessageLoop::current()->PostDelayedTask( |
230 FROM_HERE, | 229 FROM_HERE, |
231 delayed_manage_callback_.callback(), | 230 delayed_manage_callback_.callback(), |
232 base::TimeDelta::FromMilliseconds(kDelayedScheduleManageTimeoutMs)); | 231 base::TimeDelta::FromMilliseconds(kDelayedScheduleManageTimeoutMs)); |
233 } | 232 } |
234 } | 233 } |
235 | 234 |
236 void GpuMemoryManager::TrackMemoryAllocatedChange( | 235 void GpuMemoryManager::TrackMemoryAllocatedChange( |
237 GpuMemoryTrackingGroup* tracking_group, | 236 GpuMemoryTrackingGroup* tracking_group, |
238 uint64 old_size, | 237 uint64 old_size, |
239 uint64 new_size, | 238 uint64 new_size, |
240 gpu::gles2::MemoryTracker::Pool tracking_pool) { | 239 gpu::gles2::MemoryTracker::Pool tracking_pool) { |
241 TrackValueChanged(old_size, new_size, &tracking_group->size_); | 240 TrackValueChanged(old_size, new_size, &tracking_group->size_); |
242 switch (tracking_pool) { | 241 switch (tracking_pool) { |
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 | 886 |
888 void GpuMemoryManager::RemoveClientFromList( | 887 void GpuMemoryManager::RemoveClientFromList( |
889 GpuMemoryManagerClientState* client_state) { | 888 GpuMemoryManagerClientState* client_state) { |
890 DCHECK(client_state->list_iterator_valid_); | 889 DCHECK(client_state->list_iterator_valid_); |
891 ClientStateList* client_list = GetClientList(client_state); | 890 ClientStateList* client_list = GetClientList(client_state); |
892 client_list->erase(client_state->list_iterator_); | 891 client_list->erase(client_state->list_iterator_); |
893 client_state->list_iterator_valid_ = false; | 892 client_state->list_iterator_valid_ = false; |
894 } | 893 } |
895 | 894 |
896 } // namespace content | 895 } // namespace content |
OLD | NEW |