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 9namespace content { 10 11GpuMemoryTrackingGroup::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 22GpuMemoryTrackingGroup::~GpuMemoryTrackingGroup() { 23 memory_manager_->OnDestroyTrackingGroup(this); 24} 25 26void 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 34bool GpuMemoryTrackingGroup::EnsureGPUMemoryAvailable(uint64 size_needed) { 35 return memory_manager_->EnsureGPUMemoryAvailable(size_needed); 36} 37 38 39} // namespace content 40