diff options
Diffstat (limited to 'content/common/gpu/gpu_memory_manager.h')
-rw-r--r-- | content/common/gpu/gpu_memory_manager.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/content/common/gpu/gpu_memory_manager.h b/content/common/gpu/gpu_memory_manager.h index 85c0e01..015f0b0 100644 --- a/content/common/gpu/gpu_memory_manager.h +++ b/content/common/gpu/gpu_memory_manager.h @@ -7,6 +7,7 @@ #if defined(ENABLE_GPU) +#include <set> #include <vector> #include "base/basictypes.h" @@ -15,9 +16,11 @@ #include "base/memory/weak_ptr.h" #include "content/common/content_export.h" #include "content/common/gpu/gpu_memory_allocation.h" +#include "content/public/common/gpu_memory_stats.h" #include "ui/gfx/size.h" class GpuCommandBufferStubBase; +class GpuMemoryTrackingGroup; #if defined(COMPILER_GCC) namespace BASE_HASH_NAMESPACE { @@ -63,6 +66,14 @@ class CONTENT_EXPORT GpuMemoryManager : // queued delayed manage. void ScheduleManage(bool immediate); + // Retrieve GPU Resource consumption statistics for the task manager + void GetVideoMemoryUsageStats( + content::GPUVideoMemoryUsageStats& video_memory_usage_stats) const; + + // Add and remove structures to track context groups' memory consumption + void AddTrackingGroup(GpuMemoryTrackingGroup* tracking_group); + void RemoveTrackingGroup(GpuMemoryTrackingGroup* tracking_group); + // Returns StubMemoryStat's for each GpuCommandBufferStubBase, which were // assigned during the most recent call to Manage(). // Useful for tracking the memory-allocation-related presumed state of the @@ -81,6 +92,9 @@ class CONTENT_EXPORT GpuMemoryManager : void Manage(); + // The context groups' tracking structures + std::set<GpuMemoryTrackingGroup*> tracking_groups_; + size_t CalculateBonusMemoryAllocationBasedOnSize(gfx::Size size) const; size_t GetAvailableGpuMemory() const { |