| Index: content/browser/compositor/delegated_frame_host.cc
|
| diff --git a/content/browser/compositor/delegated_frame_host.cc b/content/browser/compositor/delegated_frame_host.cc
|
| index 0fb665771107286d2e7998bd7ea91318b81ba0e5..293f96f96be8021d3bd017d12f94fbbb387c9326 100644
|
| --- a/content/browser/compositor/delegated_frame_host.cc
|
| +++ b/content/browser/compositor/delegated_frame_host.cc
|
| @@ -300,10 +300,9 @@ void DelegatedFrameHost::DidReceiveFrameFromRenderer(
|
| request->set_source(frame_subscriber());
|
| request->set_area(gfx::Rect(current_frame_size_in_dip_));
|
| if (subscriber_texture.get()) {
|
| - request->SetTextureMailbox(
|
| - cc::TextureMailbox(subscriber_texture->mailbox(),
|
| - subscriber_texture->target(),
|
| - subscriber_texture->sync_point()));
|
| + request->SetTextureMailbox(cc::TextureMailbox(
|
| + subscriber_texture->mailbox(), subscriber_texture->sync_token(),
|
| + subscriber_texture->target()));
|
| }
|
| RequestCopyOfOutput(request.Pass());
|
| }
|
| @@ -591,14 +590,14 @@ static void CopyFromCompositingSurfaceFinished(
|
| bool result) {
|
| bitmap_pixels_lock.reset();
|
|
|
| - uint32 sync_point = 0;
|
| + gpu::SyncToken sync_token;
|
| if (result) {
|
| GLHelper* gl_helper = ImageTransportFactory::GetInstance()->GetGLHelper();
|
| if (gl_helper)
|
| - sync_point = gl_helper->InsertSyncPoint();
|
| + sync_token = gpu::SyncToken(gl_helper->InsertSyncPoint());
|
| }
|
| - bool lost_resource = sync_point == 0;
|
| - release_callback->Run(sync_point, lost_resource);
|
| + const bool lost_resource = !sync_token.HasData();
|
| + release_callback->Run(sync_token, lost_resource);
|
|
|
| callback.Run(*bitmap,
|
| result ? content::READBACK_SUCCESS : content::READBACK_FAILED);
|
| @@ -643,17 +642,10 @@ void DelegatedFrameHost::PrepareTextureCopyOutputResult(
|
| ignore_result(scoped_callback_runner.Release());
|
|
|
| gl_helper->CropScaleReadbackAndCleanMailbox(
|
| - texture_mailbox.mailbox(),
|
| - texture_mailbox.sync_point(),
|
| - result->size(),
|
| - gfx::Rect(result->size()),
|
| - dst_size_in_pixel,
|
| - pixels,
|
| - color_type,
|
| - base::Bind(&CopyFromCompositingSurfaceFinished,
|
| - callback,
|
| - base::Passed(&release_callback),
|
| - base::Passed(&bitmap),
|
| + texture_mailbox.mailbox(), texture_mailbox.sync_token(), result->size(),
|
| + gfx::Rect(result->size()), dst_size_in_pixel, pixels, color_type,
|
| + base::Bind(&CopyFromCompositingSurfaceFinished, callback,
|
| + base::Passed(&release_callback), base::Passed(&bitmap),
|
| base::Passed(&bitmap_pixels_lock)),
|
| GLHelper::SCALER_QUALITY_GOOD);
|
| }
|
| @@ -713,13 +705,13 @@ void DelegatedFrameHost::PrepareBitmapCopyOutputResult(
|
| void DelegatedFrameHost::ReturnSubscriberTexture(
|
| base::WeakPtr<DelegatedFrameHost> dfh,
|
| scoped_refptr<OwnedMailbox> subscriber_texture,
|
| - uint32 sync_point) {
|
| + const gpu::SyncToken& sync_token) {
|
| if (!subscriber_texture.get())
|
| return;
|
| if (!dfh)
|
| return;
|
|
|
| - subscriber_texture->UpdateSyncPoint(sync_point);
|
| + subscriber_texture->UpdateSyncToken(sync_token);
|
|
|
| if (dfh->frame_subscriber_ && subscriber_texture->texture_id())
|
| dfh->idle_frame_subscriber_textures_.push_back(subscriber_texture);
|
| @@ -734,19 +726,19 @@ void DelegatedFrameHost::CopyFromCompositingSurfaceFinishedForVideo(
|
| bool result) {
|
| callback.Run(result);
|
|
|
| - uint32 sync_point = 0;
|
| + gpu::SyncToken sync_token;
|
| if (result) {
|
| GLHelper* gl_helper = ImageTransportFactory::GetInstance()->GetGLHelper();
|
| - sync_point = gl_helper->InsertSyncPoint();
|
| + sync_token = gpu::SyncToken(gl_helper->InsertSyncPoint());
|
| }
|
| if (release_callback) {
|
| // A release callback means the texture came from the compositor, so there
|
| // should be no |subscriber_texture|.
|
| DCHECK(!subscriber_texture.get());
|
| - bool lost_resource = sync_point == 0;
|
| - release_callback->Run(sync_point, lost_resource);
|
| + const bool lost_resource = !sync_token.HasData();
|
| + release_callback->Run(sync_token, lost_resource);
|
| }
|
| - ReturnSubscriberTexture(dfh, subscriber_texture, sync_point);
|
| + ReturnSubscriberTexture(dfh, subscriber_texture, sync_token);
|
| }
|
|
|
| // static
|
| @@ -757,8 +749,8 @@ void DelegatedFrameHost::CopyFromCompositingSurfaceHasResultForVideo(
|
| const base::Callback<void(bool)>& callback,
|
| scoped_ptr<cc::CopyOutputResult> result) {
|
| base::ScopedClosureRunner scoped_callback_runner(base::Bind(callback, false));
|
| - base::ScopedClosureRunner scoped_return_subscriber_texture(
|
| - base::Bind(&ReturnSubscriberTexture, dfh, subscriber_texture, 0));
|
| + base::ScopedClosureRunner scoped_return_subscriber_texture(base::Bind(
|
| + &ReturnSubscriberTexture, dfh, subscriber_texture, gpu::SyncToken()));
|
|
|
| if (!dfh)
|
| return;
|
| @@ -866,11 +858,9 @@ void DelegatedFrameHost::CopyFromCompositingSurfaceHasResultForVideo(
|
| callback,
|
| subscriber_texture,
|
| base::Passed(&release_callback));
|
| - yuv_readback_pipeline->ReadbackYUV(texture_mailbox.mailbox(),
|
| - texture_mailbox.sync_point(),
|
| - video_frame.get(),
|
| - region_in_frame.origin(),
|
| - finished_callback);
|
| + yuv_readback_pipeline->ReadbackYUV(
|
| + texture_mailbox.mailbox(), texture_mailbox.sync_token(),
|
| + video_frame.get(), region_in_frame.origin(), finished_callback);
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
|
|