Home | History | Annotate | Download | only in gpu
      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