| Index: content/gpu/in_process_gpu_thread.cc
|
| diff --git a/content/gpu/in_process_gpu_thread.cc b/content/gpu/in_process_gpu_thread.cc
|
| index d8329f2e690edca02ac1c66e9858ac76fc7c5a6c..e4149db9e126a2e132fdfc0058f5c451c3b6826d 100644
|
| --- a/content/gpu/in_process_gpu_thread.cc
|
| +++ b/content/gpu/in_process_gpu_thread.cc
|
| @@ -7,15 +7,23 @@
|
| #include "content/common/gpu/gpu_memory_buffer_factory.h"
|
| #include "content/gpu/gpu_child_thread.h"
|
| #include "content/gpu/gpu_process.h"
|
| +#include "gpu/command_buffer/service/sync_point_manager.h"
|
|
|
| namespace content {
|
|
|
| -InProcessGpuThread::InProcessGpuThread(const InProcessChildThreadParams& params)
|
| +InProcessGpuThread::InProcessGpuThread(
|
| + const InProcessChildThreadParams& params,
|
| + gpu::SyncPointManager* sync_point_manager_override)
|
| : base::Thread("Chrome_InProcGpuThread"),
|
| params_(params),
|
| gpu_process_(NULL),
|
| + sync_point_manager_override_(sync_point_manager_override),
|
| gpu_memory_buffer_factory_(GpuMemoryBufferFactory::Create(
|
| GpuChildThread::GetGpuMemoryBufferFactoryType())) {
|
| + if (!sync_point_manager_override_) {
|
| + sync_point_manager_.reset(new gpu::SyncPointManager(false));
|
| + sync_point_manager_override_ = sync_point_manager_.get();
|
| + }
|
| }
|
|
|
| InProcessGpuThread::~InProcessGpuThread() {
|
| @@ -26,8 +34,8 @@ void InProcessGpuThread::Init() {
|
| gpu_process_ = new GpuProcess();
|
| // The process object takes ownership of the thread object, so do not
|
| // save and delete the pointer.
|
| - gpu_process_->set_main_thread(
|
| - new GpuChildThread(params_, gpu_memory_buffer_factory_.get()));
|
| + gpu_process_->set_main_thread(new GpuChildThread(
|
| + params_, gpu_memory_buffer_factory_.get(), sync_point_manager_override_));
|
| }
|
|
|
| void InProcessGpuThread::CleanUp() {
|
| @@ -37,7 +45,7 @@ void InProcessGpuThread::CleanUp() {
|
|
|
| base::Thread* CreateInProcessGpuThread(
|
| const InProcessChildThreadParams& params) {
|
| - return new InProcessGpuThread(params);
|
| + return new InProcessGpuThread(params, nullptr);
|
| }
|
|
|
| } // namespace content
|
|
|