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 3 // found in the LICENSE file. 4 5 #include "content/common/gpu/gpu_memory_tracking.h" 6 7 #include "content/common/gpu/gpu_memory_manager.h" 8 9 namespace content { 10 11 GpuMemoryTrackingGroup::GpuMemoryTrackingGroup( 12 base::ProcessId pid, 13 gpu::gles2::MemoryTracker* memory_tracker, 14 GpuMemoryManager* memory_manager) 15 : pid_(pid), 16 size_(0), 17 hibernated_(false), 18 memory_tracker_(memory_tracker), 19 memory_manager_(memory_manager) { 20 } 21 22 GpuMemoryTrackingGroup::~GpuMemoryTrackingGroup() { 23 memory_manager_->OnDestroyTrackingGroup(this); 24 } 25 26 void GpuMemoryTrackingGroup::TrackMemoryAllocatedChange( 27 uint64 old_size, 28 uint64 new_size, 29 gpu::gles2::MemoryTracker::Pool tracking_pool) { 30 memory_manager_->TrackMemoryAllocatedChange( 31 this, old_size, new_size, tracking_pool); 32 } 33 34 bool GpuMemoryTrackingGroup::EnsureGPUMemoryAvailable(uint64 size_needed) { 35 return memory_manager_->EnsureGPUMemoryAvailable(size_needed); 36 } 37 38 39 } // namespace content 40