Chromium Code Reviews| Index: cc/output/delegating_renderer.cc |
| diff --git a/cc/output/delegating_renderer.cc b/cc/output/delegating_renderer.cc |
| index 2ee755a8a5dbafebc6b3044c3e103fbe730d76ff..6f042c2fe8172787f64bee71d7e7bc9f2411471a 100644 |
| --- a/cc/output/delegating_renderer.cc |
| +++ b/cc/output/delegating_renderer.cc |
| @@ -133,20 +133,14 @@ static ResourceProvider::ResourceId AppendToArray( |
| void DelegatingRenderer::DrawFrame( |
| RenderPassList* render_passes_in_draw_order) { |
| TRACE_EVENT0("cc", "DelegatingRenderer::DrawFrame"); |
| - render_passes_for_swap_buffers_.swap(*render_passes_in_draw_order); |
| - render_passes_in_draw_order->clear(); |
| -} |
| -void DelegatingRenderer::SwapBuffers(const LatencyInfo& latency_info) { |
| - TRACE_EVENT0("cc", "DelegatingRenderer::SwapBuffers"); |
| + frame_for_swap_buffers_.metadata = client_->MakeCompositorFrameMetadata(); |
| - CompositorFrame out_frame; |
| - out_frame.metadata = client_->MakeCompositorFrameMetadata(); |
| - |
| - out_frame.delegated_frame_data = make_scoped_ptr(new DelegatedFrameData); |
| - DelegatedFrameData& out_data = *out_frame.delegated_frame_data; |
| + frame_for_swap_buffers_.delegated_frame_data = |
| + make_scoped_ptr(new DelegatedFrameData); |
| + DelegatedFrameData& out_data = *frame_for_swap_buffers_.delegated_frame_data; |
| // Move the render passes and resources into the |out_frame|. |
| - out_data.render_pass_list.swap(render_passes_for_swap_buffers_); |
| + out_data.render_pass_list.swap(*render_passes_in_draw_order); |
| // Collect all resource ids in the render passes into a ResourceIdArray. |
| ResourceProvider::ResourceIdArray resources; |
| @@ -158,8 +152,13 @@ void DelegatingRenderer::SwapBuffers(const LatencyInfo& latency_info) { |
| render_pass->quad_list[j]->IterateResources(append_to_array); |
| } |
| resource_provider_->PrepareSendToParent(resources, &out_data.resource_list); |
|
piman
2013/05/08 19:24:36
I really meant for this to happen in SwapBuffers s
danakj
2013/05/08 19:28:03
Ah, hm. I moved it so tests would be symmetrical i
piman
2013/05/08 19:35:16
Trying to understand: which test, and symmetrical
danakj
2013/05/08 19:38:23
LayerTreeHostTestAtomicCommit for example. Symmetr
piman
2013/05/08 19:47:00
I see, we're trying to detect which texture is "us
danakj
2013/05/08 23:35:30
Ya, for sure, this test is making sure that two co
|
| +} |
| - output_surface_->SendFrameToParentCompositor(&out_frame); |
| +void DelegatingRenderer::SwapBuffers(const LatencyInfo& latency_info) { |
| + TRACE_EVENT0("cc", "DelegatingRenderer::SwapBuffers"); |
| + |
| + output_surface_->SendFrameToParentCompositor(&frame_for_swap_buffers_); |
| + DCHECK(!frame_for_swap_buffers_.delegated_frame_data); |
| } |
| void DelegatingRenderer::GetFramebufferPixels(void* pixels, gfx::Rect rect) { |
| @@ -171,7 +170,6 @@ void DelegatingRenderer::ReceiveCompositorFrameAck( |
| resource_provider_->ReceiveFromParent(ack.resources); |
| } |
| - |
| bool DelegatingRenderer::IsContextLost() { |
| WebGraphicsContext3D* context3d = resource_provider_->GraphicsContext3D(); |
| if (!context3d) |