summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarkdittmer <markdittmer@chromium.org>2016-02-23 11:16:11 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-23 19:17:57 +0000
commit6c1a70a5d0436c7c647c995202fbfa307f28983a (patch)
tree2c4ec28f1acc004d5bc76b304cd44a6b051a2fc2
parentc82a278bd475fd1a68d0b9452e028537f4263043 (diff)
downloadchromium_src-6c1a70a5d0436c7c647c995202fbfa307f28983a.zip
chromium_src-6c1a70a5d0436c7c647c995202fbfa307f28983a.tar.gz
chromium_src-6c1a70a5d0436c7c647c995202fbfa307f28983a.tar.bz2
Move content:GPUVideo...Stats to gpu::Video...Stats. HolyJavaStyleNamingBatman!
As a part of the GPU refactor for Mus, we are trying to eliminate spots where content/common/gpu depends on content/. One such dependency is content::GPUVideoMemoryUsageStats. BUG=586367 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Review URL: https://codereview.chromium.org/1708783002 Cr-Commit-Position: refs/heads/master@{#377036}
-rw-r--r--chrome/browser/task_management/sampling/task_group.cc10
-rw-r--r--chrome/browser/task_management/sampling/task_group.h10
-rw-r--r--chrome/browser/task_management/sampling/task_manager_impl.cc2
-rw-r--r--chrome/browser/task_management/sampling/task_manager_impl.h5
-rw-r--r--chrome/browser/task_manager/task_manager.cc10
-rw-r--r--chrome/browser/task_manager/task_manager.h6
-rw-r--r--chrome/chrome_browser.gypi2
-rw-r--r--chrome/chrome_tests_unit.gypi1
-rw-r--r--content/browser/gpu/gpu_data_manager_impl.cc3
-rw-r--r--content/browser/gpu/gpu_data_manager_impl.h7
-rw-r--r--content/browser/gpu/gpu_data_manager_impl_private.cc3
-rw-r--r--content/browser/gpu/gpu_data_manager_impl_private.h6
-rw-r--r--content/browser/gpu/gpu_data_manager_impl_private_unittest.cc5
-rw-r--r--content/browser/gpu/gpu_process_host_ui_shim.cc3
-rw-r--r--content/browser/gpu/gpu_process_host_ui_shim.h8
-rw-r--r--content/common/gpu/gpu_memory_manager.cc3
-rw-r--r--content/common/gpu/gpu_memory_manager.h7
-rw-r--r--content/common/gpu/gpu_messages.h8
-rw-r--r--content/content_browser.gypi1
-rw-r--r--content/content_common.gypi3
-rw-r--r--content/content_gpu.gypi1
-rw-r--r--content/content_tests.gypi1
-rw-r--r--content/gpu/BUILD.gn1
-rw-r--r--content/gpu/gpu_child_thread.cc3
-rw-r--r--content/public/browser/gpu_data_manager_observer.h7
-rw-r--r--content/public/common/gpu_memory_stats.cc25
-rw-r--r--gpu/BUILD.gn1
-rw-r--r--gpu/gpu.gyp42
-rw-r--r--gpu/gpu_ipc_common.gypi26
-rw-r--r--gpu/ipc/common/BUILD.gn28
-rw-r--r--gpu/ipc/common/memory_stats.cc19
-rw-r--r--gpu/ipc/common/memory_stats.h (renamed from content/public/common/gpu_memory_stats.h)20
32 files changed, 200 insertions, 77 deletions
diff --git a/chrome/browser/task_management/sampling/task_group.cc b/chrome/browser/task_management/sampling/task_group.cc
index 9911136..3787bd3 100644
--- a/chrome/browser/task_management/sampling/task_group.cc
+++ b/chrome/browser/task_management/sampling/task_group.cc
@@ -11,6 +11,7 @@
#include "chrome/browser/task_management/task_manager_observer.h"
#include "components/nacl/browser/nacl_browser.h"
#include "content/public/browser/browser_thread.h"
+#include "gpu/ipc/common/memory_stats.h"
namespace task_management {
@@ -117,10 +118,9 @@ void TaskGroup::RemoveTask(Task* task) {
tasks_.erase(task->task_id());
}
-void TaskGroup::Refresh(
- const content::GPUVideoMemoryUsageStats& gpu_memory_stats,
- base::TimeDelta update_interval,
- int64_t refresh_flags) {
+void TaskGroup::Refresh(const gpu::VideoMemoryUsageStats& gpu_memory_stats,
+ base::TimeDelta update_interval,
+ int64_t refresh_flags) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
// First refresh the enabled non-expensive resources usages on the UI thread.
@@ -180,7 +180,7 @@ Task* TaskGroup::GetTaskById(TaskId task_id) const {
}
void TaskGroup::RefreshGpuMemory(
- const content::GPUVideoMemoryUsageStats& gpu_memory_stats) {
+ const gpu::VideoMemoryUsageStats& gpu_memory_stats) {
auto itr = gpu_memory_stats.process_map.find(process_id_);
if (itr == gpu_memory_stats.process_map.end()) {
gpu_memory_ = -1;
diff --git a/chrome/browser/task_management/sampling/task_group.h b/chrome/browser/task_management/sampling/task_group.h
index 02459fd..a9276fd 100644
--- a/chrome/browser/task_management/sampling/task_group.h
+++ b/chrome/browser/task_management/sampling/task_group.h
@@ -18,7 +18,10 @@
#include "chrome/browser/task_management/providers/task.h"
#include "chrome/browser/task_management/sampling/task_group_sampler.h"
#include "chrome/browser/task_management/task_manager_observer.h"
-#include "content/public/common/gpu_memory_stats.h"
+
+namespace gpu {
+struct VideoMemoryUsageStats;
+}
namespace task_management {
@@ -37,7 +40,7 @@ class TaskGroup {
void AddTask(Task* task);
void RemoveTask(Task* task);
- void Refresh(const content::GPUVideoMemoryUsageStats& gpu_memory_stats,
+ void Refresh(const gpu::VideoMemoryUsageStats& gpu_memory_stats,
base::TimeDelta update_interval,
int64_t refresh_flags);
@@ -82,8 +85,7 @@ class TaskGroup {
int idle_wakeups_per_second() const { return idle_wakeups_per_second_; }
private:
- void RefreshGpuMemory(
- const content::GPUVideoMemoryUsageStats& gpu_memory_stats);
+ void RefreshGpuMemory(const gpu::VideoMemoryUsageStats& gpu_memory_stats);
void RefreshWindowsHandles();
diff --git a/chrome/browser/task_management/sampling/task_manager_impl.cc b/chrome/browser/task_management/sampling/task_manager_impl.cc
index 7fee4a5..6ca6fe2 100644
--- a/chrome/browser/task_management/sampling/task_manager_impl.cc
+++ b/chrome/browser/task_management/sampling/task_manager_impl.cc
@@ -297,7 +297,7 @@ void TaskManagerImpl::TaskRemoved(Task* task) {
}
void TaskManagerImpl::OnVideoMemoryUsageStatsUpdate(
- const content::GPUVideoMemoryUsageStats& gpu_memory_stats) {
+ const gpu::VideoMemoryUsageStats& gpu_memory_stats) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
gpu_memory_stats_ = gpu_memory_stats;
diff --git a/chrome/browser/task_management/sampling/task_manager_impl.h b/chrome/browser/task_management/sampling/task_manager_impl.h
index 562b8dc..0f0eedd 100644
--- a/chrome/browser/task_management/sampling/task_manager_impl.h
+++ b/chrome/browser/task_management/sampling/task_manager_impl.h
@@ -20,6 +20,7 @@
#include "chrome/browser/task_management/sampling/task_manager_io_thread_helper.h"
#include "chrome/browser/task_management/task_manager_interface.h"
#include "content/public/browser/gpu_data_manager_observer.h"
+#include "gpu/ipc/common/memory_stats.h"
namespace task_management {
@@ -77,7 +78,7 @@ class TaskManagerImpl :
// content::GpuDataManagerObserver:
void OnVideoMemoryUsageStatsUpdate(
- const content::GPUVideoMemoryUsageStats& gpu_memory_stats) override;
+ const gpu::VideoMemoryUsageStats& gpu_memory_stats) override;
// The notification method on the UI thread when multiple bytes are read
// from URLRequests. This will be called by the |io_thread_helper_|
@@ -126,7 +127,7 @@ class TaskManagerImpl :
// The current GPU memory usage stats that was last received from the
// GpuDataManager.
- content::GPUVideoMemoryUsageStats gpu_memory_stats_;
+ gpu::VideoMemoryUsageStats gpu_memory_stats_;
// The specific blocking pool SequencedTaskRunner that will be used to make
// sure TaskGroupSampler posts their refreshes serially.
diff --git a/chrome/browser/task_manager/task_manager.cc b/chrome/browser/task_manager/task_manager.cc
index 3cfb995..eb52d8e 100644
--- a/chrome/browser/task_manager/task_manager.cc
+++ b/chrome/browser/task_manager/task_manager.cc
@@ -180,13 +180,13 @@ class TaskManagerModelGpuDataManagerObserver
}
static void NotifyVideoMemoryUsageStats(
- const content::GPUVideoMemoryUsageStats& video_memory_usage_stats) {
+ const gpu::VideoMemoryUsageStats& video_memory_usage_stats) {
TaskManager::GetInstance()->model()->NotifyVideoMemoryUsageStats(
video_memory_usage_stats);
}
- void OnVideoMemoryUsageStatsUpdate(const content::GPUVideoMemoryUsageStats&
- video_memory_usage_stats) override {
+ void OnVideoMemoryUsageStatsUpdate(
+ const gpu::VideoMemoryUsageStats& video_memory_usage_stats) override {
if (BrowserThread::CurrentlyOn(BrowserThread::UI)) {
NotifyVideoMemoryUsageStats(video_memory_usage_stats);
} else {
@@ -662,7 +662,7 @@ bool TaskManagerModel::GetVideoMemory(int index,
PerProcessValues& values(
per_process_cache_[GetResource(index)->GetProcess()]);
if (!values.is_video_memory_valid) {
- content::GPUVideoMemoryUsageStats::ProcessMap::const_iterator i =
+ gpu::VideoMemoryUsageStats::ProcessMap::const_iterator i =
video_memory_usage_stats_.process_map.find(pid);
if (i == video_memory_usage_stats_.process_map.end())
return false;
@@ -1248,7 +1248,7 @@ void TaskManagerModel::Refresh() {
}
void TaskManagerModel::NotifyVideoMemoryUsageStats(
- const content::GPUVideoMemoryUsageStats& video_memory_usage_stats) {
+ const gpu::VideoMemoryUsageStats& video_memory_usage_stats) {
DCHECK(pending_video_memory_usage_stats_update_);
video_memory_usage_stats_ = video_memory_usage_stats;
pending_video_memory_usage_stats_update_ = false;
diff --git a/chrome/browser/task_manager/task_manager.h b/chrome/browser/task_manager/task_manager.h
index 5e4e1cc..a10ea21 100644
--- a/chrome/browser/task_manager/task_manager.h
+++ b/chrome/browser/task_manager/task_manager.h
@@ -21,7 +21,7 @@
#include "build/build_config.h"
#include "chrome/browser/task_manager/resource_provider.h"
#include "chrome/browser/ui/host_desktop.h"
-#include "content/public/common/gpu_memory_stats.h"
+#include "gpu/ipc/common/memory_stats.h"
#include "third_party/WebKit/public/web/WebCache.h"
class PrefRegistrySimple;
@@ -298,7 +298,7 @@ class TaskManagerModel : public base::RefCountedThreadSafe<TaskManagerModel> {
void RefreshPhysicalMemoryFromWorkingSetSnapshot();
void NotifyVideoMemoryUsageStats(
- const content::GPUVideoMemoryUsageStats& video_memory_usage_stats);
+ const gpu::VideoMemoryUsageStats& video_memory_usage_stats);
void NotifyBytesRead(const net::URLRequest& request, int64_t bytes_read);
@@ -509,7 +509,7 @@ class TaskManagerModel : public base::RefCountedThreadSafe<TaskManagerModel> {
ResourceValueMap current_byte_count_map_;
// A map that contains the video memory usage for a process
- content::GPUVideoMemoryUsageStats video_memory_usage_stats_;
+ gpu::VideoMemoryUsageStats video_memory_usage_stats_;
// Set to true when we've requested video stats and false once we get them.
bool pending_video_memory_usage_stats_update_;
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 889ea38..fd35607 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -3476,6 +3476,7 @@
'sync_file_system_drive_proto',
'../components/components.gyp:cryptauth',
'../components/components.gyp:drive',
+ '../gpu/gpu.gyp:gpu_ipc_common',
'../media/cast/cast.gyp:cast_net',
],
'sources': [ '<@(chrome_browser_extensions_sources)' ],
@@ -3492,6 +3493,7 @@
}],
['enable_task_manager==1', {
'sources': [ '<@(chrome_browser_task_manager_sources)' ],
+ 'dependencies': [ '../gpu/gpu.gyp:gpu_ipc_common' ],
'conditions': [
['chromeos==1', {
'sources': [ '<@(chrome_browser_task_manager_chromeos_sources)' ],
diff --git a/chrome/chrome_tests_unit.gypi b/chrome/chrome_tests_unit.gypi
index 140c697..0bb65bd 100644
--- a/chrome/chrome_tests_unit.gypi
+++ b/chrome/chrome_tests_unit.gypi
@@ -2432,6 +2432,7 @@
}],
['enable_task_manager==1', {
'sources': [ '<@(chrome_unit_tests_task_manager_sources)' ],
+ 'dependencies': [ '../gpu/gpu.gyp:gpu_ipc_common' ],
}],
['enable_mdns==1', {
'sources': [ '<@(chrome_unit_tests_mdns_sources)' ],
diff --git a/content/browser/gpu/gpu_data_manager_impl.cc b/content/browser/gpu/gpu_data_manager_impl.cc
index 19f6788..88fcf97 100644
--- a/content/browser/gpu/gpu_data_manager_impl.cc
+++ b/content/browser/gpu/gpu_data_manager_impl.cc
@@ -5,6 +5,7 @@
#include "content/browser/gpu/gpu_data_manager_impl.h"
#include "content/browser/gpu/gpu_data_manager_impl_private.h"
+#include "gpu/ipc/common/memory_stats.h"
namespace content {
@@ -144,7 +145,7 @@ void GpuDataManagerImpl::UpdateGpuInfo(const gpu::GPUInfo& gpu_info) {
}
void GpuDataManagerImpl::UpdateVideoMemoryUsageStats(
- const GPUVideoMemoryUsageStats& video_memory_usage_stats) {
+ const gpu::VideoMemoryUsageStats& video_memory_usage_stats) {
base::AutoLock auto_lock(lock_);
private_->UpdateVideoMemoryUsageStats(video_memory_usage_stats);
}
diff --git a/content/browser/gpu/gpu_data_manager_impl.h b/content/browser/gpu/gpu_data_manager_impl.h
index 2b484cc..f94a39c 100644
--- a/content/browser/gpu/gpu_data_manager_impl.h
+++ b/content/browser/gpu/gpu_data_manager_impl.h
@@ -21,7 +21,6 @@
#include "base/time/time.h"
#include "base/values.h"
#include "content/public/browser/gpu_data_manager.h"
-#include "content/public/common/gpu_memory_stats.h"
#include "content/public/common/three_d_api_types.h"
#include "gpu/config/gpu_info.h"
@@ -31,6 +30,10 @@ namespace base {
class CommandLine;
}
+namespace gpu {
+struct VideoMemoryUsageStats;
+}
+
namespace content {
class GpuDataManagerImplPrivate;
@@ -103,7 +106,7 @@ class CONTENT_EXPORT GpuDataManagerImpl
void UpdateGpuInfo(const gpu::GPUInfo& gpu_info);
void UpdateVideoMemoryUsageStats(
- const GPUVideoMemoryUsageStats& video_memory_usage_stats);
+ const gpu::VideoMemoryUsageStats& video_memory_usage_stats);
// Insert disable-feature switches corresponding to preliminary gpu feature
// flags into the renderer process command line.
diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc
index 6b57bcf..3f655bb 100644
--- a/content/browser/gpu/gpu_data_manager_impl_private.cc
+++ b/content/browser/gpu/gpu_data_manager_impl_private.cc
@@ -32,6 +32,7 @@
#include "gpu/config/gpu_info_collector.h"
#include "gpu/config/gpu_switches.h"
#include "gpu/config/gpu_util.h"
+#include "gpu/ipc/common/memory_stats.h"
#include "ui/base/ui_base_switches.h"
#include "ui/gl/gl_implementation.h"
#include "ui/gl/gl_switches.h"
@@ -644,7 +645,7 @@ void GpuDataManagerImplPrivate::UpdateGpuInfo(const gpu::GPUInfo& gpu_info) {
}
void GpuDataManagerImplPrivate::UpdateVideoMemoryUsageStats(
- const GPUVideoMemoryUsageStats& video_memory_usage_stats) {
+ const gpu::VideoMemoryUsageStats& video_memory_usage_stats) {
GpuDataManagerImpl::UnlockedSession session(owner_);
observer_list_->Notify(FROM_HERE,
&GpuDataManagerObserver::OnVideoMemoryUsageStatsUpdate,
diff --git a/content/browser/gpu/gpu_data_manager_impl_private.h b/content/browser/gpu/gpu_data_manager_impl_private.h
index 887703b..ca98ab2 100644
--- a/content/browser/gpu/gpu_data_manager_impl_private.h
+++ b/content/browser/gpu/gpu_data_manager_impl_private.h
@@ -28,6 +28,10 @@ namespace base {
class CommandLine;
}
+namespace gpu {
+struct VideoMemoryUsageStats;
+}
+
namespace content {
class CONTENT_EXPORT GpuDataManagerImplPrivate {
@@ -66,7 +70,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate {
void UpdateGpuInfo(const gpu::GPUInfo& gpu_info);
void UpdateVideoMemoryUsageStats(
- const GPUVideoMemoryUsageStats& video_memory_usage_stats);
+ const gpu::VideoMemoryUsageStats& video_memory_usage_stats);
void AppendRendererCommandLine(base::CommandLine* command_line) const;
diff --git a/content/browser/gpu/gpu_data_manager_impl_private_unittest.cc b/content/browser/gpu/gpu_data_manager_impl_private_unittest.cc
index e98046c..a9a189d 100644
--- a/content/browser/gpu/gpu_data_manager_impl_private_unittest.cc
+++ b/content/browser/gpu/gpu_data_manager_impl_private_unittest.cc
@@ -15,6 +15,7 @@
#include "gpu/config/gpu_feature_type.h"
#include "gpu/config/gpu_info.h"
#include "gpu/config/gpu_switches.h"
+#include "gpu/ipc/common/memory_stats.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
@@ -43,7 +44,7 @@ class TestObserver : public GpuDataManagerObserver {
void OnGpuInfoUpdate() override { gpu_info_updated_ = true; }
void OnVideoMemoryUsageStatsUpdate(
- const GPUVideoMemoryUsageStats& stats) override {
+ const gpu::VideoMemoryUsageStats& stats) override {
video_memory_usage_stats_updated_ = true;
}
@@ -356,7 +357,7 @@ TEST_F(GpuDataManagerImplPrivateTest, GPUVideoMemoryUsageStatsUpdate) {
}
EXPECT_FALSE(observer.video_memory_usage_stats_updated());
- GPUVideoMemoryUsageStats vram_stats;
+ gpu::VideoMemoryUsageStats vram_stats;
manager->UpdateVideoMemoryUsageStats(vram_stats);
{
base::RunLoop run_loop;
diff --git a/content/browser/gpu/gpu_process_host_ui_shim.cc b/content/browser/gpu/gpu_process_host_ui_shim.cc
index f50db21..52d1d8d 100644
--- a/content/browser/gpu/gpu_process_host_ui_shim.cc
+++ b/content/browser/gpu/gpu_process_host_ui_shim.cc
@@ -24,6 +24,7 @@
#include "content/browser/renderer_host/render_widget_host_view_base.h"
#include "content/common/gpu/gpu_messages.h"
#include "content/public/browser/browser_thread.h"
+#include "gpu/ipc/common/memory_stats.h"
#if defined(OS_MACOSX)
#include "ui/accelerated_widget_mac/accelerated_widget_mac.h"
@@ -271,7 +272,7 @@ void GpuProcessHostUIShim::OnAcceleratedSurfaceBuffersSwapped(
#endif
void GpuProcessHostUIShim::OnVideoMemoryUsageStatsReceived(
- const GPUVideoMemoryUsageStats& video_memory_usage_stats) {
+ const gpu::VideoMemoryUsageStats& video_memory_usage_stats) {
GpuDataManagerImpl::GetInstance()->UpdateVideoMemoryUsageStats(
video_memory_usage_stats);
}
diff --git a/content/browser/gpu/gpu_process_host_ui_shim.h b/content/browser/gpu/gpu_process_host_ui_shim.h
index e37eda0..3276833 100644
--- a/content/browser/gpu/gpu_process_host_ui_shim.h
+++ b/content/browser/gpu/gpu_process_host_ui_shim.h
@@ -21,8 +21,8 @@
#include "base/threading/non_thread_safe.h"
#include "build/build_config.h"
#include "content/common/content_export.h"
-#include "content/public/common/gpu_memory_stats.h"
#include "gpu/config/gpu_info.h"
+#include "gpu/ipc/common/memory_stats.h"
#include "ipc/ipc_listener.h"
#include "ipc/ipc_sender.h"
#include "ipc/message_router.h"
@@ -43,6 +43,10 @@ namespace IPC {
class Message;
}
+namespace gpu {
+struct VideoMemoryUsageStats;
+}
+
namespace content {
void RouteToGpuProcessHostUIShimTask(int host_id, const IPC::Message& msg);
@@ -101,7 +105,7 @@ class GpuProcessHostUIShim : public IPC::Listener,
const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params);
#endif
void OnVideoMemoryUsageStatsReceived(
- const GPUVideoMemoryUsageStats& video_memory_usage_stats);
+ const gpu::VideoMemoryUsageStats& video_memory_usage_stats);
void OnAddSubscription(int32_t process_id, unsigned int target);
void OnRemoveSubscription(int32_t process_id, unsigned int target);
diff --git a/content/common/gpu/gpu_memory_manager.cc b/content/common/gpu/gpu_memory_manager.cc
index 10f769c..85aa15f 100644
--- a/content/common/gpu/gpu_memory_manager.cc
+++ b/content/common/gpu/gpu_memory_manager.cc
@@ -18,6 +18,7 @@
#include "content/common/gpu/gpu_messages.h"
#include "gpu/command_buffer/common/gpu_memory_allocation.h"
#include "gpu/command_buffer/service/gpu_switches.h"
+#include "gpu/ipc/common/memory_stats.h"
using gpu::MemoryAllocation;
@@ -91,7 +92,7 @@ void GpuMemoryManager::OnDestroyTrackingGroup(
}
void GpuMemoryManager::GetVideoMemoryUsageStats(
- GPUVideoMemoryUsageStats* video_memory_usage_stats) const {
+ gpu::VideoMemoryUsageStats* video_memory_usage_stats) const {
// For each context group, assign its memory usage to its PID
video_memory_usage_stats->process_map.clear();
for (TrackingGroupMap::const_iterator i =
diff --git a/content/common/gpu/gpu_memory_manager.h b/content/common/gpu/gpu_memory_manager.h
index 7de22e5..b83e220 100644
--- a/content/common/gpu/gpu_memory_manager.h
+++ b/content/common/gpu/gpu_memory_manager.h
@@ -16,10 +16,13 @@
#include "base/macros.h"
#include "base/memory/weak_ptr.h"
#include "content/common/content_export.h"
-#include "content/public/common/gpu_memory_stats.h"
#include "gpu/command_buffer/common/gpu_memory_allocation.h"
#include "gpu/command_buffer/service/memory_tracking.h"
+namespace gpu {
+struct VideoMemoryUsageStats;
+}
+
namespace content {
class GpuChannelManager;
@@ -33,7 +36,7 @@ class CONTENT_EXPORT GpuMemoryManager :
// Retrieve GPU Resource consumption statistics for the task manager
void GetVideoMemoryUsageStats(
- content::GPUVideoMemoryUsageStats* video_memory_usage_stats) const;
+ gpu::VideoMemoryUsageStats* video_memory_usage_stats) const;
GpuMemoryTrackingGroup* CreateTrackingGroup(
base::ProcessId pid, gpu::gles2::MemoryTracker* memory_tracker);
diff --git a/content/common/gpu/gpu_messages.h b/content/common/gpu/gpu_messages.h
index e4db8b3..e4b4f68 100644
--- a/content/common/gpu/gpu_messages.h
+++ b/content/common/gpu/gpu_messages.h
@@ -18,7 +18,6 @@
#include "content/common/gpu/gpu_process_launch_causes.h"
#include "content/common/gpu/gpu_stream_constants.h"
#include "content/public/common/common_param_traits.h"
-#include "content/public/common/gpu_memory_stats.h"
#include "gpu/command_buffer/common/capabilities.h"
#include "gpu/command_buffer/common/command_buffer.h"
#include "gpu/command_buffer/common/constants.h"
@@ -27,6 +26,7 @@
#include "gpu/command_buffer/common/sync_token.h"
#include "gpu/command_buffer/common/value_state.h"
#include "gpu/config/gpu_info.h"
+#include "gpu/ipc/common/memory_stats.h"
#include "gpu/ipc/gpu_command_buffer_traits.h"
#include "ipc/ipc_channel_handle.h"
#include "ipc/ipc_message_macros.h"
@@ -285,12 +285,12 @@ IPC_STRUCT_TRAITS_BEGIN(gpu::GPUInfo)
IPC_STRUCT_TRAITS_MEMBER(jpeg_decode_accelerator_supported)
IPC_STRUCT_TRAITS_END()
-IPC_STRUCT_TRAITS_BEGIN(content::GPUVideoMemoryUsageStats::ProcessStats)
+IPC_STRUCT_TRAITS_BEGIN(gpu::VideoMemoryUsageStats::ProcessStats)
IPC_STRUCT_TRAITS_MEMBER(video_memory)
IPC_STRUCT_TRAITS_MEMBER(has_duplicates)
IPC_STRUCT_TRAITS_END()
-IPC_STRUCT_TRAITS_BEGIN(content::GPUVideoMemoryUsageStats)
+IPC_STRUCT_TRAITS_BEGIN(gpu::VideoMemoryUsageStats)
IPC_STRUCT_TRAITS_MEMBER(process_map)
IPC_STRUCT_TRAITS_MEMBER(bytes_allocated)
IPC_STRUCT_TRAITS_MEMBER(bytes_allocated_historical_max)
@@ -447,7 +447,7 @@ IPC_MESSAGE_CONTROL1(GpuHostMsg_GraphicsInfoCollected,
// Response from GPU to a GpuMsg_GetVideoMemory.
IPC_MESSAGE_CONTROL1(GpuHostMsg_VideoMemoryUsageStats,
- content::GPUVideoMemoryUsageStats /* GPU memory stats */)
+ gpu::VideoMemoryUsageStats /* GPU memory stats */)
// Message from GPU to add a GPU log message to the about:gpu page.
IPC_MESSAGE_CONTROL3(GpuHostMsg_OnLogMessage,
diff --git a/content/content_browser.gypi b/content/content_browser.gypi
index 95ba849..8886f75 100644
--- a/content/content_browser.gypi
+++ b/content/content_browser.gypi
@@ -21,6 +21,7 @@
'../device/vibration/vibration.gyp:device_vibration_mojo_bindings',
'../gin/gin.gyp:gin',
'../google_apis/google_apis.gyp:google_apis',
+ '../gpu/gpu.gyp:gpu_ipc_common',
'../mojo/mojo_base.gyp:mojo_application_base',
'../mojo/mojo_base.gyp:mojo_geometry_lib',
'../mojo/mojo_base.gyp:mojo_url_type_converters',
diff --git a/content/content_common.gypi b/content/content_common.gypi
index 4de364b..d02b5dc 100644
--- a/content/content_common.gypi
+++ b/content/content_common.gypi
@@ -17,6 +17,7 @@
# content and moved to android_webview. See crbug.com/365797.
'../gpu/gpu.gyp:gl_in_process_context',
'../gpu/gpu.gyp:gpu_ipc',
+ '../gpu/gpu.gyp:gpu_ipc_common',
'../gpu/skia_bindings/skia_bindings.gyp:gpu_skia_bindings',
'../ipc/ipc.gyp:ipc',
'../ipc/mojo/ipc_mojo.gyp:ipc_mojo',
@@ -130,8 +131,6 @@
'public/common/frame_navigate_params.h',
'public/common/geoposition.cc',
'public/common/geoposition.h',
- 'public/common/gpu_memory_stats.cc',
- 'public/common/gpu_memory_stats.h',
'public/common/injection_test_mac.h',
'public/common/injection_test_win.h',
'public/common/javascript_message_type.h',
diff --git a/content/content_gpu.gypi b/content/content_gpu.gypi
index f9dd636..1de8557 100644
--- a/content/content_gpu.gypi
+++ b/content/content_gpu.gypi
@@ -5,6 +5,7 @@
{
'dependencies': [
'../base/base.gyp:base',
+ '../gpu/gpu.gyp:gpu_ipc_common',
'../skia/skia.gyp:skia',
'../ui/gl/gl.gyp:gl',
'content_common_mojo_bindings.gyp:content_common_mojo_bindings',
diff --git a/content/content_tests.gypi b/content/content_tests.gypi
index 42e6638..486f1bc 100644
--- a/content/content_tests.gypi
+++ b/content/content_tests.gypi
@@ -1161,6 +1161,7 @@
'../device/bluetooth/bluetooth.gyp:device_bluetooth',
'../gin/gin.gyp:gin',
'../gpu/gpu.gyp:gpu',
+ '../gpu/gpu.gyp:gpu_ipc_common',
'../gpu/gpu.gyp:gpu_unittest_utils',
'../ipc/ipc.gyp:test_support_ipc',
'../media/media.gyp:media_test_support',
diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn
index 3bc1845..8877864 100644
--- a/content/gpu/BUILD.gn
+++ b/content/gpu/BUILD.gn
@@ -44,6 +44,7 @@ source_set("gpu_sources") {
"//base",
"//content:export",
"//content/public/child:child_sources",
+ "//gpu/ipc/common:ipc_common_sources",
"//mojo/shell/public/interfaces",
"//skia",
"//ui/gl",
diff --git a/content/gpu/gpu_child_thread.cc b/content/gpu/gpu_child_thread.cc
index 6ea7e2e..7b4450b 100644
--- a/content/gpu/gpu_child_thread.cc
+++ b/content/gpu/gpu_child_thread.cc
@@ -22,6 +22,7 @@
#include "content/public/common/content_switches.h"
#include "content/public/gpu/content_gpu_client.h"
#include "gpu/config/gpu_info_collector.h"
+#include "gpu/ipc/common/memory_stats.h"
#include "ipc/ipc_channel_handle.h"
#include "ipc/ipc_sync_message_filter.h"
#include "ui/gl/gl_implementation.h"
@@ -351,7 +352,7 @@ void GpuChildThread::OnCollectGraphicsInfo() {
}
void GpuChildThread::OnGetVideoMemoryUsageStats() {
- GPUVideoMemoryUsageStats video_memory_usage_stats;
+ gpu::VideoMemoryUsageStats video_memory_usage_stats;
if (gpu_channel_manager_)
gpu_channel_manager_->gpu_memory_manager()->GetVideoMemoryUsageStats(
&video_memory_usage_stats);
diff --git a/content/public/browser/gpu_data_manager_observer.h b/content/public/browser/gpu_data_manager_observer.h
index 2f36feb..64a6b9e 100644
--- a/content/public/browser/gpu_data_manager_observer.h
+++ b/content/public/browser/gpu_data_manager_observer.h
@@ -7,11 +7,14 @@
#include "base/process/kill.h"
#include "content/common/content_export.h"
-#include "content/public/common/gpu_memory_stats.h"
#include "content/public/common/three_d_api_types.h"
class GURL;
+namespace gpu {
+struct VideoMemoryUsageStats;
+}
+
namespace content {
// Observers can register themselves via GpuDataManager::AddObserver, and
@@ -23,7 +26,7 @@ class CONTENT_EXPORT GpuDataManagerObserver {
// Called for any observers whenever there is a GPU video memory update.
virtual void OnVideoMemoryUsageStatsUpdate(
- const GPUVideoMemoryUsageStats& video_memory_usage_stats) {}
+ const gpu::VideoMemoryUsageStats& video_memory_usage_stats) {}
// Indicates that client 3D APIs (Pepper 3D, WebGL) were just blocked on the
// given page, specifically because the GPU was reset recently.
diff --git a/content/public/common/gpu_memory_stats.cc b/content/public/common/gpu_memory_stats.cc
deleted file mode 100644
index 2b4e0fa..0000000
--- a/content/public/common/gpu_memory_stats.cc
+++ /dev/null
@@ -1,25 +0,0 @@
-// 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()
- : bytes_allocated(0),
- bytes_allocated_historical_max(0) {
-}
-
-GPUVideoMemoryUsageStats::~GPUVideoMemoryUsageStats() {
-}
-
-GPUVideoMemoryUsageStats::ProcessStats::ProcessStats()
- : video_memory(0),
- has_duplicates(false) {
-}
-
-GPUVideoMemoryUsageStats::ProcessStats::~ProcessStats() {
-}
-
-} // namespace content
diff --git a/gpu/BUILD.gn b/gpu/BUILD.gn
index c3f82eb..bf1d6b0 100644
--- a/gpu/BUILD.gn
+++ b/gpu/BUILD.gn
@@ -46,6 +46,7 @@ component("gpu") {
"//gpu/command_buffer/service:service_sources",
"//gpu/config:config_sources",
"//gpu/ipc:ipc_sources",
+ "//gpu/ipc/common:ipc_common_sources",
]
}
diff --git a/gpu/gpu.gyp b/gpu/gpu.gyp
index 2ad775d..8d5343f 100644
--- a/gpu/gpu.gyp
+++ b/gpu/gpu.gyp
@@ -523,6 +523,7 @@
'gles2_cmd_helper',
'gpu_config',
'gpu_ipc',
+ 'gpu_ipc_common',
],
'sources': [
'gpu_export.h',
@@ -603,6 +604,14 @@
],
},
{
+ # GN version: //gpu/ipc/common
+ 'target_name': 'gpu_ipc_common',
+ 'type': 'static_library',
+ 'includes': [
+ 'gpu_ipc_common.gypi',
+ ],
+ },
+ {
'target_name': 'gpu_config',
'type': 'static_library',
'includes': [
@@ -635,6 +644,7 @@
'gles2_cmd_helper.gypi',
'gpu_config.gypi',
'gpu_ipc.gypi',
+ 'gpu_ipc_common.gypi',
'../build/android/increase_size_for_speed.gypi',
],
'defines': [
@@ -694,6 +704,14 @@
'gpu',
],
},
+ {
+ # GN version: //gpu/ipc/common
+ 'target_name': 'gpu_ipc_common',
+ 'type': 'none',
+ 'dependencies': [
+ 'gpu',
+ ],
+ },
],
}],
['disable_nacl!=1 and OS=="win" and target_arch=="ia32"', {
@@ -744,6 +762,30 @@
},
},
},
+ {
+ 'target_name': 'gpu_ipc_common_win64',
+ 'type': 'static_library',
+ 'variables': {
+ 'nacl_win64_target': 1,
+ },
+ 'includes': [
+ 'gpu_ipc_common.gypi',
+ ],
+ 'dependencies': [
+ '../base/base.gyp:base_win64',
+ '../ipc/ipc.gyp:ipc_win64',
+ 'command_buffer_common_win64',
+ ],
+ 'defines': [
+ '<@(nacl_win64_defines)',
+ 'GPU_IMPLEMENTATION',
+ ],
+ 'configurations': {
+ 'Common_Base': {
+ 'msvs_target_platform': 'x64',
+ },
+ },
+ },
],
}],
['OS == "android"', {
diff --git a/gpu/gpu_ipc_common.gypi b/gpu/gpu_ipc_common.gypi
new file mode 100644
index 0000000..d139515
--- /dev/null
+++ b/gpu/gpu_ipc_common.gypi
@@ -0,0 +1,26 @@
+# Copyright (c) 2016 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.
+
+{
+ 'dependencies': [
+ '../ipc/ipc.gyp:ipc',
+ ],
+ 'include_dirs': [
+ '..',
+ ],
+ 'sources': [
+ 'ipc/common/memory_stats.cc',
+ 'ipc/common/memory_stats.h',
+ ],
+ 'conditions': [
+ # This section applies to gpu_ipc_win64, used by the NaCl Win64 helper
+ # (nacl64.exe).
+ ['nacl_win64_target==1', {
+ # gpu_ipc_win64 must only link against the 64-bit ipc target.
+ 'dependencies!': [
+ '../ipc/ipc.gyp:ipc',
+ ],
+ }],
+ ],
+}
diff --git a/gpu/ipc/common/BUILD.gn b/gpu/ipc/common/BUILD.gn
new file mode 100644
index 0000000..b77a9f9
--- /dev/null
+++ b/gpu/ipc/common/BUILD.gn
@@ -0,0 +1,28 @@
+# Copyright 2016 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.
+
+group("ipc") {
+ if (is_component_build) {
+ public_deps = [
+ "//gpu",
+ ]
+ } else {
+ public_deps = [
+ ":ipc_common_sources",
+ ]
+ }
+}
+
+source_set("ipc_common_sources") {
+ sources = [
+ "memory_stats.cc",
+ "memory_stats.h",
+ ]
+
+ configs += [ "//gpu:gpu_implementation" ]
+
+ deps = [
+ "//ipc",
+ ]
+}
diff --git a/gpu/ipc/common/memory_stats.cc b/gpu/ipc/common/memory_stats.cc
new file mode 100644
index 0000000..af55e48
--- /dev/null
+++ b/gpu/ipc/common/memory_stats.cc
@@ -0,0 +1,19 @@
+// 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 "gpu/ipc/common/memory_stats.h"
+
+namespace gpu {
+
+VideoMemoryUsageStats::VideoMemoryUsageStats()
+ : bytes_allocated(0), bytes_allocated_historical_max(0) {}
+
+VideoMemoryUsageStats::~VideoMemoryUsageStats() {}
+
+VideoMemoryUsageStats::ProcessStats::ProcessStats()
+ : video_memory(0), has_duplicates(false) {}
+
+VideoMemoryUsageStats::ProcessStats::~ProcessStats() {}
+
+} // namespace gpu
diff --git a/content/public/common/gpu_memory_stats.h b/gpu/ipc/common/memory_stats.h
index ed358ab..ecc3944 100644
--- a/content/public/common/gpu_memory_stats.h
+++ b/gpu/ipc/common/memory_stats.h
@@ -2,8 +2,8 @@
// 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_
+#ifndef GPU_IPC_COMMON_MEMORY_STATS_H_
+#define GPU_IPC_COMMON_MEMORY_STATS_H_
// Provides access to the GPU information for the system
// on which chrome is currently running.
@@ -13,17 +13,17 @@
#include <map>
#include "base/process/process.h"
-#include "content/common/content_export.h"
+#include "gpu/gpu_export.h"
-namespace content {
+namespace gpu {
// Note: we use uint64_t instead of size_t for byte count because this struct
// is sent over IPC which could span 32 & 64 bit processes.
-struct CONTENT_EXPORT GPUVideoMemoryUsageStats {
- GPUVideoMemoryUsageStats();
- ~GPUVideoMemoryUsageStats();
+struct GPU_EXPORT VideoMemoryUsageStats {
+ VideoMemoryUsageStats();
+ ~VideoMemoryUsageStats();
- struct CONTENT_EXPORT ProcessStats {
+ struct GPU_EXPORT ProcessStats {
ProcessStats();
~ProcessStats();
@@ -47,6 +47,6 @@ struct CONTENT_EXPORT GPUVideoMemoryUsageStats {
uint64_t bytes_allocated_historical_max;
};
-} // namespace content
+} // namespace gpu
-#endif // CONTENT_PUBLIC_COMMON_GPU_MEMORY_STATS_H_
+#endif // GPU_IPC_COMMON_MEMORY_STATS_H_