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

Side by Side Diff: cc/surfaces/surfaces_pixeltest.cc

Issue 2582823002: WIP: Surface Synchronization System
Patch Set: Only create ClientSurfaceEmbedder if window is visible. Trash it otherwise. Created 3 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/output/compositor_frame.h" 5 #include "cc/output/compositor_frame.h"
6 #include "cc/quads/render_pass.h" 6 #include "cc/quads/render_pass.h"
7 #include "cc/quads/solid_color_draw_quad.h" 7 #include "cc/quads/solid_color_draw_quad.h"
8 #include "cc/quads/surface_draw_quad.h" 8 #include "cc/quads/surface_draw_quad.h"
9 #include "cc/surfaces/surface.h" 9 #include "cc/surfaces/surface.h"
10 #include "cc/surfaces/surface_aggregator.h" 10 #include "cc/surfaces/surface_aggregator.h"
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 int id = 1; 115 int id = 1;
116 std::unique_ptr<RenderPass> pass = RenderPass::Create(); 116 std::unique_ptr<RenderPass> pass = RenderPass::Create();
117 pass->SetNew(id, rect, rect, gfx::Transform()); 117 pass->SetNew(id, rect, rect, gfx::Transform());
118 118
119 CreateAndAppendTestSharedQuadState( 119 CreateAndAppendTestSharedQuadState(
120 pass.get(), gfx::Transform(), device_viewport_size_); 120 pass.get(), gfx::Transform(), device_viewport_size_);
121 121
122 SurfaceDrawQuad* surface_quad = 122 SurfaceDrawQuad* surface_quad =
123 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); 123 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>();
124 surface_quad->SetNew(pass->shared_quad_state_list.back(), 124 surface_quad->SetNew(pass->shared_quad_state_list.back(),
125 gfx::Rect(child_size), 125 gfx::Rect(child_size), gfx::Rect(child_size),
126 gfx::Rect(child_size), 126 child_surface_id, SurfaceDrawQuadType::PRIMARY,
127 child_surface_id); 127 nullptr);
128 128
129 SolidColorDrawQuad* color_quad = 129 SolidColorDrawQuad* color_quad =
130 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 130 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
131 bool force_anti_aliasing_off = false; 131 bool force_anti_aliasing_off = false;
132 color_quad->SetNew(pass->shared_quad_state_list.back(), 132 color_quad->SetNew(pass->shared_quad_state_list.back(),
133 rect, 133 rect,
134 rect, 134 rect,
135 SK_ColorYELLOW, 135 SK_ColorYELLOW,
136 force_anti_aliasing_off); 136 force_anti_aliasing_off);
137 137
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 std::unique_ptr<RenderPass> pass = RenderPass::Create(); 207 std::unique_ptr<RenderPass> pass = RenderPass::Create();
208 pass->SetNew(id, rect, rect, gfx::Transform()); 208 pass->SetNew(id, rect, rect, gfx::Transform());
209 209
210 gfx::Transform surface_transform; 210 gfx::Transform surface_transform;
211 CreateAndAppendTestSharedQuadState( 211 CreateAndAppendTestSharedQuadState(
212 pass.get(), surface_transform, device_viewport_size_); 212 pass.get(), surface_transform, device_viewport_size_);
213 213
214 SurfaceDrawQuad* left_surface_quad = 214 SurfaceDrawQuad* left_surface_quad =
215 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); 215 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>();
216 left_surface_quad->SetNew(pass->shared_quad_state_list.back(), 216 left_surface_quad->SetNew(pass->shared_quad_state_list.back(),
217 gfx::Rect(child_size), 217 gfx::Rect(child_size), gfx::Rect(child_size),
218 gfx::Rect(child_size), 218 left_child_id, SurfaceDrawQuadType::PRIMARY,
219 left_child_id); 219 nullptr);
220 220
221 surface_transform.Translate(100, 0); 221 surface_transform.Translate(100, 0);
222 CreateAndAppendTestSharedQuadState( 222 CreateAndAppendTestSharedQuadState(
223 pass.get(), surface_transform, device_viewport_size_); 223 pass.get(), surface_transform, device_viewport_size_);
224 224
225 SurfaceDrawQuad* right_surface_quad = 225 SurfaceDrawQuad* right_surface_quad =
226 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); 226 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>();
227 right_surface_quad->SetNew(pass->shared_quad_state_list.back(), 227 right_surface_quad->SetNew(pass->shared_quad_state_list.back(),
228 gfx::Rect(child_size), 228 gfx::Rect(child_size), gfx::Rect(child_size),
229 gfx::Rect(child_size), 229 right_child_id, SurfaceDrawQuadType::PRIMARY,
230 right_child_id); 230 nullptr);
231 231
232 CompositorFrame root_frame; 232 CompositorFrame root_frame;
233 root_frame.render_pass_list.push_back(std::move(pass)); 233 root_frame.render_pass_list.push_back(std::move(pass));
234 234
235 factory_.SubmitCompositorFrame(root_local_frame_id, std::move(root_frame), 235 factory_.SubmitCompositorFrame(root_local_frame_id, std::move(root_frame),
236 SurfaceFactory::DrawCallback()); 236 SurfaceFactory::DrawCallback());
237 } 237 }
238 238
239 { 239 {
240 gfx::Rect rect(child_size); 240 gfx::Rect rect(child_size);
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 pixel_comparator)); 316 pixel_comparator));
317 317
318 left_factory.EvictSurface(); 318 left_factory.EvictSurface();
319 right_factory.EvictSurface(); 319 right_factory.EvictSurface();
320 } 320 }
321 321
322 } // namespace 322 } // namespace
323 } // namespace cc 323 } // namespace cc
324 324
325 #endif // !defined(OS_ANDROID) 325 #endif // !defined(OS_ANDROID)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698