Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(862)

Unified Diff: components/view_manager/gles2/command_buffer_impl.cc

Issue 1231263003: Share SyncPointManager between ipc and in-process (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: mandoline Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/view_manager/gles2/command_buffer_impl.cc
diff --git a/components/view_manager/gles2/command_buffer_impl.cc b/components/view_manager/gles2/command_buffer_impl.cc
index 9a2a97b803d3fde10e24e7e00deb0eb0770bc64d..7ab57c2fcf1afba18aa7dcb7f6d1595b75e14719 100644
--- a/components/view_manager/gles2/command_buffer_impl.cc
+++ b/components/view_manager/gles2/command_buffer_impl.cc
@@ -8,6 +8,7 @@
#include "base/message_loop/message_loop.h"
#include "components/view_manager/gles2/command_buffer_driver.h"
#include "components/view_manager/gles2/command_buffer_impl_observer.h"
+#include "components/view_manager/gles2/gpu_state.h"
#include "gpu/command_buffer/service/sync_point_manager.h"
namespace gles2 {
@@ -39,10 +40,9 @@ class CommandBufferImpl::CommandBufferDriverClientImpl
CommandBufferImpl::CommandBufferImpl(
mojo::InterfaceRequest<mojo::CommandBuffer> request,
mojo::ViewportParameterListenerPtr listener,
- scoped_refptr<base::SingleThreadTaskRunner> control_task_runner,
- gpu::SyncPointManager* sync_point_manager,
+ scoped_refptr<GpuState> gpu_state,
scoped_ptr<CommandBufferDriver> driver)
- : sync_point_manager_(sync_point_manager),
+ : gpu_state_(gpu_state),
driver_task_runner_(base::MessageLoop::current()->task_runner()),
driver_(driver.Pass()),
viewport_parameter_listener_(listener.Pass()),
@@ -50,7 +50,7 @@ CommandBufferImpl::CommandBufferImpl(
observer_(nullptr) {
driver_->set_client(make_scoped_ptr(new CommandBufferDriverClientImpl(this)));
- control_task_runner->PostTask(
+ gpu_state_->control_task_runner()->PostTask(
FROM_HERE, base::Bind(&CommandBufferImpl::BindToRequest,
base::Unretained(this), base::Passed(&request)));
}
@@ -104,19 +104,22 @@ void CommandBufferImpl::DestroyTransferBuffer(int32_t id) {
}
void CommandBufferImpl::InsertSyncPoint(bool retire) {
- uint32_t sync_point = sync_point_manager_->GenerateSyncPoint();
+ uint32_t sync_point = gpu_state_->sync_point_manager()->GenerateSyncPoint();
sync_point_client_->DidInsertSyncPoint(sync_point);
if (retire) {
driver_task_runner_->PostTask(
- FROM_HERE, base::Bind(&gpu::SyncPointManager::RetireSyncPoint,
- sync_point_manager_, sync_point));
+ FROM_HERE,
+ base::Bind(&gpu::SyncPointManager::RetireSyncPoint,
+ base::Unretained(gpu_state_->sync_point_manager()),
+ sync_point));
}
}
void CommandBufferImpl::RetireSyncPoint(uint32_t sync_point) {
driver_task_runner_->PostTask(
FROM_HERE, base::Bind(&gpu::SyncPointManager::RetireSyncPoint,
- sync_point_manager_, sync_point));
+ base::Unretained(gpu_state_->sync_point_manager()),
+ sync_point));
}
void CommandBufferImpl::Echo(const mojo::Callback<void()>& callback) {

Powered by Google App Engine
This is Rietveld 408576698