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

Unified Diff: cc/output/delegating_renderer.cc

Issue 14925009: Run all LayerTreeHost tests with a delegating renderer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 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: 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)

Powered by Google App Engine
This is Rietveld 408576698