Index: cc/output/delegating_renderer.cc |
diff --git a/cc/output/delegating_renderer.cc b/cc/output/delegating_renderer.cc |
index 2ee755a8a5dbafebc6b3044c3e103fbe730d76ff..e7c6235a5b5f8af4b78725177e2b1833557c4fdf 100644 |
--- a/cc/output/delegating_renderer.cc |
+++ b/cc/output/delegating_renderer.cc |
@@ -11,7 +11,6 @@ |
#include "base/debug/trace_event.h" |
#include "base/string_util.h" |
#include "base/strings/string_split.h" |
-#include "cc/output/compositor_frame.h" |
#include "cc/output/compositor_frame_ack.h" |
#include "cc/quads/checkerboard_draw_quad.h" |
#include "cc/quads/debug_border_draw_quad.h" |
@@ -133,20 +132,16 @@ 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"); |
+ DCHECK(!frame_for_swap_buffers_.delegated_frame_data); |
- CompositorFrame out_frame; |
- out_frame.metadata = client_->MakeCompositorFrameMetadata(); |
+ frame_for_swap_buffers_.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 +153,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); |
danakj
2013/05/09 02:42:50
DrawFrame needs to make this call. The resources h
|
+} |
+ |
+void DelegatingRenderer::SwapBuffers(const LatencyInfo& latency_info) { |
+ TRACE_EVENT0("cc", "DelegatingRenderer::SwapBuffers"); |
- output_surface_->SendFrameToParentCompositor(&out_frame); |
+ output_surface_->SendFrameToParentCompositor(&frame_for_swap_buffers_); |
+ DCHECK(!frame_for_swap_buffers_.delegated_frame_data); |
} |
void DelegatingRenderer::GetFramebufferPixels(void* pixels, gfx::Rect rect) { |