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

Unified Diff: content/renderer/android/synchronous_compositor_proxy.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
« no previous file with comments | « content/renderer/android/synchronous_compositor_proxy.h ('k') | content/renderer/render_widget.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/android/synchronous_compositor_proxy.cc
diff --git a/content/renderer/android/synchronous_compositor_proxy.cc b/content/renderer/android/synchronous_compositor_proxy.cc
index b98594971718f4806d20170f2822e8883631f1e7..820b577cf0448036d65fe554a9df45063fc4c936 100644
--- a/content/renderer/android/synchronous_compositor_proxy.cc
+++ b/content/renderer/android/synchronous_compositor_proxy.cc
@@ -218,30 +218,30 @@ void SynchronousCompositorProxy::DemandDrawHw(
if (inside_receive_) {
// Did not swap.
cc::CompositorFrame empty_frame;
- SendDemandDrawHwReply(&empty_frame, reply_message);
+ SendDemandDrawHwReply(&empty_frame, 0u, reply_message);
inside_receive_ = false;
} else {
DeliverMessages();
}
}
-void SynchronousCompositorProxy::SwapBuffersHw(cc::CompositorFrame* frame) {
+void SynchronousCompositorProxy::SwapBuffersHw(uint32_t output_surface_id,
+ cc::CompositorFrame* frame) {
DCHECK(inside_receive_);
DCHECK(hardware_draw_reply_);
DCHECK(frame);
- SendDemandDrawHwReply(frame, hardware_draw_reply_);
+ SendDemandDrawHwReply(frame, output_surface_id, hardware_draw_reply_);
inside_receive_ = false;
}
void SynchronousCompositorProxy::SendDemandDrawHwReply(
cc::CompositorFrame* frame,
+ uint32_t output_surface_id,
IPC::Message* reply_message) {
SyncCompositorCommonRendererParams common_renderer_params;
PopulateCommonParams(&common_renderer_params);
- // Not using WriteParams because cc::CompositorFrame is not copy-able.
- IPC::ParamTraits<SyncCompositorCommonRendererParams>::Write(
- reply_message, common_renderer_params);
- IPC::ParamTraits<cc::CompositorFrame>::Write(reply_message, *frame);
+ SyncCompositorMsg_DemandDrawHw::WriteReplyParams(
+ reply_message, common_renderer_params, output_surface_id, *frame);
Send(reply_message);
}
@@ -358,19 +358,17 @@ void SynchronousCompositorProxy::SendDemandDrawSwReply(
IPC::Message* reply_message) {
SyncCompositorCommonRendererParams common_renderer_params;
PopulateCommonParams(&common_renderer_params);
- // Not using WriteParams because cc::CompositorFrame is not copy-able.
- IPC::ParamTraits<bool>::Write(reply_message, success);
- IPC::ParamTraits<SyncCompositorCommonRendererParams>::Write(
- reply_message, common_renderer_params);
- IPC::ParamTraits<cc::CompositorFrame>::Write(reply_message, *frame);
+ SyncCompositorMsg_DemandDrawSw::WriteReplyParams(
+ reply_message, success, common_renderer_params, *frame);
Send(reply_message);
}
-void SynchronousCompositorProxy::SwapBuffers(cc::CompositorFrame* frame) {
+void SynchronousCompositorProxy::SwapBuffers(uint32_t output_surface_id,
+ cc::CompositorFrame* frame) {
DCHECK(hardware_draw_reply_ || software_draw_reply_);
DCHECK(!(hardware_draw_reply_ && software_draw_reply_));
if (hardware_draw_reply_) {
- SwapBuffersHw(frame);
+ SwapBuffersHw(output_surface_id, frame);
} else if (software_draw_reply_) {
SwapBuffersSw(frame);
}
@@ -409,7 +407,9 @@ void SynchronousCompositorProxy::ProcessCommonParams(
begin_frame_source_->SetBeginFrameSourcePaused(
common_params.begin_frame_source_paused);
if (!common_params.ack.resources.empty()) {
- output_surface_->ReturnResources(common_params.ack);
+ output_surface_->ReturnResources(
+ common_params.output_surface_id_for_returned_resources,
+ common_params.ack);
}
}
« no previous file with comments | « content/renderer/android/synchronous_compositor_proxy.h ('k') | content/renderer/render_widget.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698