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

Unified Diff: gpu/ipc/service/gpu_command_buffer_stub.cc

Issue 1943513002: [Reland 1] Pepper takes ownership of a mailbox before passing it to the texture layer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add a test. Created 4 years, 8 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
« no previous file with comments | « gpu/ipc/service/gpu_command_buffer_stub.h ('k') | ppapi/proxy/ppapi_messages.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/ipc/service/gpu_command_buffer_stub.cc
diff --git a/gpu/ipc/service/gpu_command_buffer_stub.cc b/gpu/ipc/service/gpu_command_buffer_stub.cc
index b90275aae15abbc1372ac069b8c65cde9758b463..2172f4a9763461b1b2699546b41fb74714c41674 100644
--- a/gpu/ipc/service/gpu_command_buffer_stub.cc
+++ b/gpu/ipc/service/gpu_command_buffer_stub.cc
@@ -295,8 +295,9 @@ bool GpuCommandBufferStub::OnMessageReceived(const IPC::Message& message) {
OnInitialize);
IPC_MESSAGE_HANDLER_DELAY_REPLY(GpuCommandBufferMsg_SetGetBuffer,
OnSetGetBuffer);
- IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_ProduceFrontBuffer,
- OnProduceFrontBuffer);
+ IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_TakeFrontBuffer, OnTakeFrontBuffer);
+ IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_ReturnFrontBuffer,
+ OnReturnFrontBuffer);
IPC_MESSAGE_HANDLER_DELAY_REPLY(GpuCommandBufferMsg_WaitForTokenInRange,
OnWaitForTokenInRange);
IPC_MESSAGE_HANDLER_DELAY_REPLY(GpuCommandBufferMsg_WaitForGetOffsetInRange,
@@ -714,14 +715,22 @@ void GpuCommandBufferStub::OnSetGetBuffer(int32_t shm_id,
Send(reply_message);
}
-void GpuCommandBufferStub::OnProduceFrontBuffer(const Mailbox& mailbox) {
- TRACE_EVENT0("gpu", "GpuCommandBufferStub::OnProduceFrontBuffer");
+void GpuCommandBufferStub::OnTakeFrontBuffer(const Mailbox& mailbox) {
+ TRACE_EVENT0("gpu", "GpuCommandBufferStub::OnTakeFrontBuffer");
if (!decoder_) {
- LOG(ERROR) << "Can't produce front buffer before initialization.";
+ LOG(ERROR) << "Can't take front buffer before initialization.";
return;
}
- decoder_->ProduceFrontBuffer(mailbox);
+ decoder_->TakeFrontBuffer(mailbox);
+}
+
+void GpuCommandBufferStub::OnReturnFrontBuffer(const Mailbox& mailbox,
+ const SyncToken& sync_token,
+ bool is_lost) {
+ OnWaitFenceSync(sync_token.namespace_id(), sync_token.command_buffer_id(),
+ sync_token.release_count());
piman 2016/05/03 02:52:04 Oh, duh, sorry I missed this. OnWaitFenceSync can'
erikchen 2016/05/03 17:24:14 Ah, good point. I went with your second approach a
+ decoder_->ReturnFrontBuffer(mailbox, is_lost);
}
void GpuCommandBufferStub::OnParseError() {
« no previous file with comments | « gpu/ipc/service/gpu_command_buffer_stub.h ('k') | ppapi/proxy/ppapi_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698