Index: content/common/gpu/gpu_channel_manager.cc |
diff --git a/content/common/gpu/gpu_channel_manager.cc b/content/common/gpu/gpu_channel_manager.cc |
index d5ffd601afedeadd12b1b645ce6f368e19f08916..00b30d7437a132a1771db43f115dcced6c25c433 100644 |
--- a/content/common/gpu/gpu_channel_manager.cc |
+++ b/content/common/gpu/gpu_channel_manager.cc |
@@ -8,7 +8,6 @@ |
#include <utility> |
#include "base/bind.h" |
-#include "base/command_line.h" |
#include "base/location.h" |
#include "base/single_thread_task_runner.h" |
#include "base/thread_task_runner_handle.h" |
@@ -20,17 +19,13 @@ |
#include "content/common/gpu/gpu_memory_manager.h" |
#include "content/common/gpu/gpu_messages.h" |
#include "content/common/gpu/image_transport_surface.h" |
-#include "content/public/common/content_switches.h" |
#include "gpu/command_buffer/common/sync_token.h" |
#include "gpu/command_buffer/common/value_state.h" |
#include "gpu/command_buffer/service/feature_info.h" |
-#include "gpu/command_buffer/service/gpu_switches.h" |
#include "gpu/command_buffer/service/mailbox_manager.h" |
#include "gpu/command_buffer/service/memory_program_cache.h" |
#include "gpu/command_buffer/service/shader_translator_cache.h" |
#include "gpu/command_buffer/service/sync_point_manager.h" |
-#include "ipc/message_filter.h" |
-#include "ipc/message_router.h" |
#include "ui/gl/gl_bindings.h" |
#include "ui/gl/gl_share_group.h" |
@@ -52,6 +47,7 @@ const int kMaxKeepAliveTimeMs = 200; |
} |
GpuChannelManager::GpuChannelManager( |
+ const gpu::GpuPreferences& gpu_preferences, |
GpuChannelManagerDelegate* delegate, |
GpuWatchdog* watchdog, |
base::SingleThreadTaskRunner* task_runner, |
@@ -61,11 +57,12 @@ GpuChannelManager::GpuChannelManager( |
GpuMemoryBufferFactory* gpu_memory_buffer_factory) |
: task_runner_(task_runner), |
io_task_runner_(io_task_runner), |
+ gpu_preferences_(gpu_preferences), |
delegate_(delegate), |
watchdog_(watchdog), |
shutdown_event_(shutdown_event), |
share_group_(new gfx::GLShareGroup), |
- mailbox_manager_(gpu::gles2::MailboxManager::Create()), |
+ mailbox_manager_(gpu::gles2::MailboxManager::Create(gpu_preferences)), |
gpu_memory_manager_(this), |
sync_point_manager_(sync_point_manager), |
sync_point_client_waiter_( |
@@ -74,9 +71,7 @@ GpuChannelManager::GpuChannelManager( |
weak_factory_(this) { |
DCHECK(task_runner); |
DCHECK(io_task_runner); |
- const base::CommandLine* command_line = |
- base::CommandLine::ForCurrentProcess(); |
- if (command_line->HasSwitch(switches::kUIPrioritizeInGpuProcess)) |
+ if (gpu_preferences_.ui_prioritize_in_gpu_process) |
preemption_flag_ = new gpu::PreemptionFlag; |
} |
@@ -93,17 +88,20 @@ gpu::gles2::ProgramCache* GpuChannelManager::program_cache() { |
if (!program_cache_.get() && |
(gfx::g_driver_gl.ext.b_GL_ARB_get_program_binary || |
gfx::g_driver_gl.ext.b_GL_OES_get_program_binary) && |
- !base::CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kDisableGpuProgramCache)) { |
- program_cache_.reset(new gpu::gles2::MemoryProgramCache()); |
+ !gpu_preferences_.disable_gpu_program_cache) { |
+ program_cache_.reset(new gpu::gles2::MemoryProgramCache( |
+ gpu_preferences_.gpu_program_cache_size, |
+ gpu_preferences_.disable_gpu_shader_disk_cache)); |
} |
return program_cache_.get(); |
} |
gpu::gles2::ShaderTranslatorCache* |
GpuChannelManager::shader_translator_cache() { |
- if (!shader_translator_cache_.get()) |
- shader_translator_cache_ = new gpu::gles2::ShaderTranslatorCache; |
+ if (!shader_translator_cache_.get()) { |
+ shader_translator_cache_ = |
+ new gpu::gles2::ShaderTranslatorCache(gpu_preferences_); |
+ } |
return shader_translator_cache_.get(); |
} |