Index: services/gles2/command_buffer_driver.cc |
diff --git a/services/gles2/command_buffer_driver.cc b/services/gles2/command_buffer_driver.cc |
index 4720bf695165357f9b0dd7746131ccd36acc9950..1c3f9f62314fb0375bf5ed7d36e79b24e67a2508 100644 |
--- a/services/gles2/command_buffer_driver.cc |
+++ b/services/gles2/command_buffer_driver.cc |
@@ -236,6 +236,8 @@ void CommandBufferDriver::OnResize(gfx::Size size, float scale_factor) { |
bool CommandBufferDriver::OnWaitSyncPoint(uint32_t sync_point) { |
if (!sync_point) |
return true; |
+ if (mailbox_manager_->UsesSync()) |
+ mailbox_manager_->PullTextureUpdates(sync_point); |
if (sync_point_manager_->IsSyncPointRetired(sync_point)) |
return true; |
scheduler_->SetScheduled(false); |
@@ -249,6 +251,12 @@ void CommandBufferDriver::OnSyncPointRetired() { |
scheduler_->SetScheduled(true); |
} |
+void CommandBufferDriver::RetireSyncPointOnGpuThread(uint32 sync_point) { |
+ if (mailbox_manager_->UsesSync()) |
+ mailbox_manager_->PushTextureUpdates(sync_point); |
+ sync_point_manager_->RetireSyncPoint(sync_point); |
+} |
+ |
void CommandBufferDriver::OnContextLost(uint32_t reason) { |
loss_observer_->DidLoseContext(reason); |
client_->DidLoseContext(); |