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

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: rebase 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..2e472c1b0836154a3c2a50246e2a07d4a79767d2 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);
piman 2013/05/09 20:38:47 This DCHECK is not correct. If CompositeAndReadbac
danakj 2013/05/09 22:42:37 This should be solved by https://codereview.chromi
- 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,12 +153,17 @@ void DelegatingRenderer::SwapBuffers(const LatencyInfo& latency_info) {
render_pass->quad_list[j]->IterateResources(append_to_array);
}
resource_provider_->PrepareSendToParent(resources, &out_data.resource_list);
+}
+
+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) {
- NOTIMPLEMENTED();
+ NOTREACHED();
piman 2013/05/09 20:38:47 This is actually reached. The browser will have th
danakj 2013/05/09 22:42:37 Similar by https://codereview.chromium.org/1496000
}
void DelegatingRenderer::ReceiveCompositorFrameAck(

Powered by Google App Engine
This is Rietveld 408576698