summaryrefslogtreecommitdiffstats
path: root/content/public/common
diff options
context:
space:
mode:
Diffstat (limited to 'content/public/common')
-rw-r--r--content/public/common/gpu_memory_stats.cc23
-rw-r--r--content/public/common/gpu_memory_stats.h43
2 files changed, 66 insertions, 0 deletions
diff --git a/content/public/common/gpu_memory_stats.cc b/content/public/common/gpu_memory_stats.cc
new file mode 100644
index 0000000..b593ab4
--- /dev/null
+++ b/content/public/common/gpu_memory_stats.cc
@@ -0,0 +1,23 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "content/public/common/gpu_memory_stats.h"
+
+namespace content {
+
+GPUVideoMemoryUsageStats::GPUVideoMemoryUsageStats() {
+}
+
+GPUVideoMemoryUsageStats::~GPUVideoMemoryUsageStats() {
+}
+
+GPUVideoMemoryUsageStats::ProcessStats::ProcessStats()
+ : video_memory(0),
+ has_duplicates(false) {
+}
+
+GPUVideoMemoryUsageStats::ProcessStats::~ProcessStats() {
+}
+
+} // namespace content
diff --git a/content/public/common/gpu_memory_stats.h b/content/public/common/gpu_memory_stats.h
new file mode 100644
index 0000000..5ae6e97
--- /dev/null
+++ b/content/public/common/gpu_memory_stats.h
@@ -0,0 +1,43 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CONTENT_PUBLIC_COMMON_GPU_MEMORY_STATS_H_
+#define CONTENT_PUBLIC_COMMON_GPU_MEMORY_STATS_H_
+
+// Provides access to the GPU information for the system
+// on which chrome is currently running.
+
+#include <map>
+
+#include "base/basictypes.h"
+#include "base/process.h"
+#include "content/common/content_export.h"
+
+namespace content {
+
+struct CONTENT_EXPORT GPUVideoMemoryUsageStats {
+ GPUVideoMemoryUsageStats();
+ ~GPUVideoMemoryUsageStats();
+
+ struct CONTENT_EXPORT ProcessStats {
+ ProcessStats();
+ ~ProcessStats();
+
+ // The bytes of GPU resources accessible by this process
+ size_t video_memory;
+
+ // Set to true if this process' GPU resource count is inflated because
+ // it is counting other processes' resources (e.g, the GPU process has
+ // duplicate set to true because it is the aggregate of all processes)
+ bool has_duplicates;
+ };
+ typedef std::map<base::ProcessId, ProcessStats> ProcessMap;
+
+ // A map of processes to their GPU resource consumption
+ ProcessMap process_map;
+};
+
+} // namespace content
+
+#endif // CONTENT_PUBLIC_COMMON_GPU_MEMORY_STATS_H_