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

Side by Side Diff: cc/delegated_renderer_layer_impl_unittest.cc

Issue 11418047: cc: Turn DrawQuad into a struct-like class with public data members. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: no virtual for SetAll() Created 8 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « cc/delegated_renderer_layer_impl.cc ('k') | cc/draw_quad.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/delegated_renderer_layer_impl.h" 5 #include "cc/delegated_renderer_layer_impl.h"
6 6
7 #include "cc/append_quads_data.h" 7 #include "cc/append_quads_data.h"
8 #include "cc/layer_tree_host_impl.h" 8 #include "cc/layer_tree_host_impl.h"
9 #include "cc/quad_sink.h" 9 #include "cc/quad_sink.h"
10 #include "cc/render_pass_draw_quad.h" 10 #include "cc/render_pass_draw_quad.h"
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 ASSERT_EQ(5u, frame.renderPasses.size()); 202 ASSERT_EQ(5u, frame.renderPasses.size());
203 203
204 // The DelegatedRendererLayer should have added its contributing RenderPasse s to the frame. 204 // The DelegatedRendererLayer should have added its contributing RenderPasse s to the frame.
205 EXPECT_EQ(4, frame.renderPasses[1]->id().layerId); 205 EXPECT_EQ(4, frame.renderPasses[1]->id().layerId);
206 EXPECT_EQ(1, frame.renderPasses[1]->id().index); 206 EXPECT_EQ(1, frame.renderPasses[1]->id().index);
207 EXPECT_EQ(4, frame.renderPasses[2]->id().layerId); 207 EXPECT_EQ(4, frame.renderPasses[2]->id().layerId);
208 EXPECT_EQ(2, frame.renderPasses[2]->id().index); 208 EXPECT_EQ(2, frame.renderPasses[2]->id().index);
209 209
210 // The DelegatedRendererLayer should have added copies of its quads to contr ibuting RenderPasses. 210 // The DelegatedRendererLayer should have added copies of its quads to contr ibuting RenderPasses.
211 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size()); 211 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size());
212 EXPECT_RECT_EQ(gfx::Rect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]-> rect()); 212 EXPECT_RECT_EQ(gfx::Rect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]-> rect);
213 213
214 // Verify it added the right quads. 214 // Verify it added the right quads.
215 ASSERT_EQ(2u, frame.renderPasses[2]->quadList().size()); 215 ASSERT_EQ(2u, frame.renderPasses[2]->quadList().size());
216 EXPECT_RECT_EQ(gfx::Rect(0, 0, 7, 7), frame.renderPasses[2]->quadList()[0]-> rect()); 216 EXPECT_RECT_EQ(gfx::Rect(0, 0, 7, 7), frame.renderPasses[2]->quadList()[0]-> rect);
217 EXPECT_RECT_EQ(gfx::Rect(6, 6, 6, 6), frame.renderPasses[2]->quadList()[1]-> rect()); 217 EXPECT_RECT_EQ(gfx::Rect(6, 6, 6, 6), frame.renderPasses[2]->quadList()[1]-> rect);
218 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size()); 218 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size());
219 EXPECT_RECT_EQ(gfx::Rect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]-> rect()); 219 EXPECT_RECT_EQ(gfx::Rect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]-> rect);
220 } 220 }
221 221
222 TEST_F(DelegatedRendererLayerImplTestSimple, AddsQuadsToTargetRenderPass) 222 TEST_F(DelegatedRendererLayerImplTestSimple, AddsQuadsToTargetRenderPass)
223 { 223 {
224 LayerTreeHostImpl::FrameData frame; 224 LayerTreeHostImpl::FrameData frame;
225 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 225 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
226 m_hostImpl->drawLayers(frame); 226 m_hostImpl->drawLayers(frame);
227 m_hostImpl->didDrawAllLayers(frame); 227 m_hostImpl->didDrawAllLayers(frame);
228 228
229 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes. 229 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes.
230 ASSERT_EQ(5u, frame.renderPasses.size()); 230 ASSERT_EQ(5u, frame.renderPasses.size());
231 231
232 // The layer's target is the RenderPass from m_layerAfter. 232 // The layer's target is the RenderPass from m_layerAfter.
233 EXPECT_EQ(RenderPass::Id(3, 0), frame.renderPasses[3]->id()); 233 EXPECT_EQ(RenderPass::Id(3, 0), frame.renderPasses[3]->id());
234 234
235 // The DelegatedRendererLayer should have added copies of quads in its root RenderPass to its target RenderPass. 235 // The DelegatedRendererLayer should have added copies of quads in its root RenderPass to its target RenderPass.
236 // The m_layerAfter also adds one quad. 236 // The m_layerAfter also adds one quad.
237 ASSERT_EQ(2u, frame.renderPasses[3]->quadList().size()); 237 ASSERT_EQ(2u, frame.renderPasses[3]->quadList().size());
238 238
239 // Verify it added the right quads. 239 // Verify it added the right quads.
240 EXPECT_RECT_EQ(gfx::Rect(7, 7, 7, 7), frame.renderPasses[3]->quadList()[0]-> rect()); 240 EXPECT_RECT_EQ(gfx::Rect(7, 7, 7, 7), frame.renderPasses[3]->quadList()[0]-> rect);
241 241
242 // Its target layer should have a quad as well. 242 // Its target layer should have a quad as well.
243 EXPECT_RECT_EQ(gfx::Rect(0, 0, 15, 15), frame.renderPasses[3]->quadList()[1] ->rect()); 243 EXPECT_RECT_EQ(gfx::Rect(0, 0, 15, 15), frame.renderPasses[3]->quadList()[1] ->rect);
244 } 244 }
245 245
246 TEST_F(DelegatedRendererLayerImplTestSimple, QuadsFromRootRenderPassAreModifiedF orTheTarget) 246 TEST_F(DelegatedRendererLayerImplTestSimple, QuadsFromRootRenderPassAreModifiedF orTheTarget)
247 { 247 {
248 LayerTreeHostImpl::FrameData frame; 248 LayerTreeHostImpl::FrameData frame;
249 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 249 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
250 m_hostImpl->drawLayers(frame); 250 m_hostImpl->drawLayers(frame);
251 m_hostImpl->didDrawAllLayers(frame); 251 m_hostImpl->didDrawAllLayers(frame);
252 252
253 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes. 253 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes.
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 ASSERT_EQ(6u, frame.renderPasses.size()); 318 ASSERT_EQ(6u, frame.renderPasses.size());
319 319
320 // The DelegatedRendererLayer should have added its contributing RenderPasse s to the frame. 320 // The DelegatedRendererLayer should have added its contributing RenderPasse s to the frame.
321 EXPECT_EQ(4, frame.renderPasses[1]->id().layerId); 321 EXPECT_EQ(4, frame.renderPasses[1]->id().layerId);
322 EXPECT_EQ(1, frame.renderPasses[1]->id().index); 322 EXPECT_EQ(1, frame.renderPasses[1]->id().index);
323 EXPECT_EQ(4, frame.renderPasses[2]->id().layerId); 323 EXPECT_EQ(4, frame.renderPasses[2]->id().layerId);
324 EXPECT_EQ(2, frame.renderPasses[2]->id().index); 324 EXPECT_EQ(2, frame.renderPasses[2]->id().index);
325 325
326 // The DelegatedRendererLayer should have added copies of its quads to contr ibuting RenderPasses. 326 // The DelegatedRendererLayer should have added copies of its quads to contr ibuting RenderPasses.
327 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size()); 327 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size());
328 EXPECT_RECT_EQ(gfx::Rect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]-> rect()); 328 EXPECT_RECT_EQ(gfx::Rect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]-> rect);
329 329
330 // Verify it added the right quads. 330 // Verify it added the right quads.
331 ASSERT_EQ(2u, frame.renderPasses[2]->quadList().size()); 331 ASSERT_EQ(2u, frame.renderPasses[2]->quadList().size());
332 EXPECT_RECT_EQ(gfx::Rect(0, 0, 7, 7), frame.renderPasses[2]->quadList()[0]-> rect()); 332 EXPECT_RECT_EQ(gfx::Rect(0, 0, 7, 7), frame.renderPasses[2]->quadList()[0]-> rect);
333 EXPECT_RECT_EQ(gfx::Rect(6, 6, 6, 6), frame.renderPasses[2]->quadList()[1]-> rect()); 333 EXPECT_RECT_EQ(gfx::Rect(6, 6, 6, 6), frame.renderPasses[2]->quadList()[1]-> rect);
334 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size()); 334 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size());
335 EXPECT_RECT_EQ(gfx::Rect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]-> rect()); 335 EXPECT_RECT_EQ(gfx::Rect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]-> rect);
336 } 336 }
337 337
338 TEST_F(DelegatedRendererLayerImplTestOwnSurface, AddsQuadsToTargetRenderPass) 338 TEST_F(DelegatedRendererLayerImplTestOwnSurface, AddsQuadsToTargetRenderPass)
339 { 339 {
340 LayerTreeHostImpl::FrameData frame; 340 LayerTreeHostImpl::FrameData frame;
341 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 341 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
342 m_hostImpl->drawLayers(frame); 342 m_hostImpl->drawLayers(frame);
343 m_hostImpl->didDrawAllLayers(frame); 343 m_hostImpl->didDrawAllLayers(frame);
344 344
345 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes and its owned surface added one pass. 345 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes and its owned surface added one pass.
346 ASSERT_EQ(6u, frame.renderPasses.size()); 346 ASSERT_EQ(6u, frame.renderPasses.size());
347 347
348 // The layer's target is the RenderPass owned by itself. 348 // The layer's target is the RenderPass owned by itself.
349 EXPECT_EQ(RenderPass::Id(4, 0), frame.renderPasses[3]->id()); 349 EXPECT_EQ(RenderPass::Id(4, 0), frame.renderPasses[3]->id());
350 350
351 // The DelegatedRendererLayer should have added copies of quads in its root RenderPass to its target RenderPass. 351 // The DelegatedRendererLayer should have added copies of quads in its root RenderPass to its target RenderPass.
352 // The m_layerAfter also adds one quad. 352 // The m_layerAfter also adds one quad.
353 ASSERT_EQ(1u, frame.renderPasses[3]->quadList().size()); 353 ASSERT_EQ(1u, frame.renderPasses[3]->quadList().size());
354 354
355 // Verify it added the right quads. 355 // Verify it added the right quads.
356 EXPECT_RECT_EQ(gfx::Rect(7, 7, 7, 7), frame.renderPasses[3]->quadList()[0]-> rect()); 356 EXPECT_RECT_EQ(gfx::Rect(7, 7, 7, 7), frame.renderPasses[3]->quadList()[0]-> rect);
357 } 357 }
358 358
359 TEST_F(DelegatedRendererLayerImplTestOwnSurface, QuadsFromRootRenderPassAreNotMo difiedForTheTarget) 359 TEST_F(DelegatedRendererLayerImplTestOwnSurface, QuadsFromRootRenderPassAreNotMo difiedForTheTarget)
360 { 360 {
361 LayerTreeHostImpl::FrameData frame; 361 LayerTreeHostImpl::FrameData frame;
362 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 362 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
363 m_hostImpl->drawLayers(frame); 363 m_hostImpl->drawLayers(frame);
364 m_hostImpl->didDrawAllLayers(frame); 364 m_hostImpl->didDrawAllLayers(frame);
365 365
366 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes and its owned surface added one pass. 366 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes and its owned surface added one pass.
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 m_hostImpl->didDrawAllLayers(frame); 433 m_hostImpl->didDrawAllLayers(frame);
434 434
435 ASSERT_EQ(1u, frame.renderPasses.size()); 435 ASSERT_EQ(1u, frame.renderPasses.size());
436 EXPECT_EQ(1, frame.renderPasses[0]->id().layerId); 436 EXPECT_EQ(1, frame.renderPasses[0]->id().layerId);
437 EXPECT_EQ(0, frame.renderPasses[0]->id().index); 437 EXPECT_EQ(0, frame.renderPasses[0]->id().index);
438 438
439 const QuadList& quadList = frame.renderPasses[0]->quadList(); 439 const QuadList& quadList = frame.renderPasses[0]->quadList();
440 ASSERT_EQ(4u, quadList.size()); 440 ASSERT_EQ(4u, quadList.size());
441 441
442 // All quads should share the same state. 442 // All quads should share the same state.
443 const SharedQuadState* sharedState = quadList[0]->shared_quad_state(); 443 const SharedQuadState* sharedState = quadList[0]->shared_quad_state;
444 EXPECT_EQ(sharedState, quadList[1]->shared_quad_state()); 444 EXPECT_EQ(sharedState, quadList[1]->shared_quad_state);
445 EXPECT_EQ(sharedState, quadList[2]->shared_quad_state()); 445 EXPECT_EQ(sharedState, quadList[2]->shared_quad_state);
446 EXPECT_EQ(sharedState, quadList[3]->shared_quad_state()); 446 EXPECT_EQ(sharedState, quadList[3]->shared_quad_state);
447 447
448 // The state should be transformed only once. 448 // The state should be transformed only once.
449 EXPECT_RECT_EQ(gfx::Rect(30, 30, 50, 50), sharedState->clippedRectInTarget); 449 EXPECT_RECT_EQ(gfx::Rect(30, 30, 50, 50), sharedState->clippedRectInTarget);
450 WebTransformationMatrix expected; 450 WebTransformationMatrix expected;
451 expected.translate(30, 30); 451 expected.translate(30, 30);
452 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->quadTransform); 452 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->quadTransform);
453 } 453 }
454 454
455 } // namespace 455 } // namespace
456 } // namespace cc 456 } // namespace cc
OLDNEW
« no previous file with comments | « cc/delegated_renderer_layer_impl.cc ('k') | cc/draw_quad.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698