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

Unified Diff: content/browser/android/in_process/synchronous_compositor_impl.cc

Issue 1769913003: sync compositor: Add output_surface_id (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix nit in test Created 4 years, 9 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: content/browser/android/in_process/synchronous_compositor_impl.cc
diff --git a/content/browser/android/in_process/synchronous_compositor_impl.cc b/content/browser/android/in_process/synchronous_compositor_impl.cc
index ed99e093220ca1a8fbf1fe94c52bcdeca62fed22..1b06e510faaf0824d5b8e2bbe1f6162306427f78 100644
--- a/content/browser/android/in_process/synchronous_compositor_impl.cc
+++ b/content/browser/android/in_process/synchronous_compositor_impl.cc
@@ -150,7 +150,7 @@ void SynchronousCompositorImpl::DidDestroyRendererObjects() {
need_animate_input_ = false;
}
-scoped_ptr<cc::CompositorFrame> SynchronousCompositorImpl::DemandDrawHw(
+SynchronousCompositor::Frame SynchronousCompositorImpl::DemandDrawHw(
const gfx::Size& surface_size,
const gfx::Transform& transform,
const gfx::Rect& viewport,
@@ -160,45 +160,48 @@ scoped_ptr<cc::CompositorFrame> SynchronousCompositorImpl::DemandDrawHw(
DCHECK(CalledOnValidThread());
DCHECK(output_surface_);
DCHECK(begin_frame_source_);
- DCHECK(!frame_holder_);
+ DCHECK(!frame_holder_.frame);
output_surface_->DemandDrawHw(surface_size, transform, viewport, clip,
viewport_rect_for_tile_priority,
transform_for_tile_priority);
- if (frame_holder_)
- UpdateFrameMetaData(frame_holder_->metadata);
+ if (frame_holder_.frame)
+ UpdateFrameMetaData(frame_holder_.frame->metadata);
return std::move(frame_holder_);
}
void SynchronousCompositorImpl::ReturnResources(
+ uint32_t output_surface_id,
const cc::CompositorFrameAck& frame_ack) {
DCHECK(CalledOnValidThread());
- output_surface_->ReturnResources(frame_ack);
+ output_surface_->ReturnResources(output_surface_id, frame_ack);
}
bool SynchronousCompositorImpl::DemandDrawSw(SkCanvas* canvas) {
DCHECK(CalledOnValidThread());
DCHECK(output_surface_);
DCHECK(begin_frame_source_);
- DCHECK(!frame_holder_);
+ DCHECK(!frame_holder_.frame);
output_surface_->DemandDrawSw(canvas);
- bool success = !!frame_holder_;
- if (frame_holder_) {
- UpdateFrameMetaData(frame_holder_->metadata);
- frame_holder_.reset();
+ bool success = !!frame_holder_.frame;
+ if (frame_holder_.frame) {
+ UpdateFrameMetaData(frame_holder_.frame->metadata);
+ frame_holder_.frame.reset();
}
return success;
}
-void SynchronousCompositorImpl::SwapBuffers(cc::CompositorFrame* frame) {
- DCHECK(!frame_holder_);
- frame_holder_.reset(new cc::CompositorFrame);
- frame->AssignTo(frame_holder_.get());
+void SynchronousCompositorImpl::SwapBuffers(uint32_t output_surface_id,
+ cc::CompositorFrame* frame) {
+ DCHECK(!frame_holder_.frame);
+ frame_holder_.output_surface_id = output_surface_id;
+ frame_holder_.frame.reset(new cc::CompositorFrame);
+ frame->AssignTo(frame_holder_.frame.get());
}
void SynchronousCompositorImpl::UpdateFrameMetaData(

Powered by Google App Engine
This is Rietveld 408576698