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

Side by Side Diff: cc/layers/delegated_renderer_layer_impl_unittest.cc

Issue 340743002: cc: Removing base::TimeTicks argument to DrawLayers as it isn't used. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebasing onto master. Created 6 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | cc/test/layer_tree_test.cc » ('j') | cc/trees/single_thread_proxy.cc » ('J')
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/layers/delegated_renderer_layer_impl.h" 5 #include "cc/layers/delegated_renderer_layer_impl.h"
6 6
7 #include "cc/base/scoped_ptr_vector.h" 7 #include "cc/base/scoped_ptr_vector.h"
8 #include "cc/layers/solid_color_layer_impl.h" 8 #include "cc/layers/solid_color_layer_impl.h"
9 #include "cc/quads/render_pass_draw_quad.h" 9 #include "cc/quads/render_pass_draw_quad.h"
10 #include "cc/quads/solid_color_draw_quad.h" 10 #include "cc/quads/solid_color_draw_quad.h"
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 EXPECT_NE(4, frame.render_passes[4]->id.layer_id); 158 EXPECT_NE(4, frame.render_passes[4]->id.layer_id);
159 EXPECT_EQ(0, frame.render_passes[4]->id.index); 159 EXPECT_EQ(0, frame.render_passes[4]->id.index);
160 160
161 // The DelegatedRendererLayer should have added its RenderPasses to the frame 161 // The DelegatedRendererLayer should have added its RenderPasses to the frame
162 // in order. 162 // in order.
163 EXPECT_EQ(gfx::Rect(6, 6, 6, 6).ToString(), 163 EXPECT_EQ(gfx::Rect(6, 6, 6, 6).ToString(),
164 frame.render_passes[1]->output_rect.ToString()); 164 frame.render_passes[1]->output_rect.ToString());
165 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(), 165 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(),
166 frame.render_passes[2]->output_rect.ToString()); 166 frame.render_passes[2]->output_rect.ToString());
167 167
168 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 168 host_impl_->DrawLayers(&frame);
169 host_impl_->DidDrawAllLayers(frame); 169 host_impl_->DidDrawAllLayers(frame);
170 } 170 }
171 171
172 TEST_F(DelegatedRendererLayerImplTestSimple, 172 TEST_F(DelegatedRendererLayerImplTestSimple,
173 AddsQuadsToContributingRenderPasses) { 173 AddsQuadsToContributingRenderPasses) {
174 LayerTreeHostImpl::FrameData frame; 174 LayerTreeHostImpl::FrameData frame;
175 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 175 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
176 176
177 // Each non-DelegatedRendererLayer added one RenderPass. The 177 // Each non-DelegatedRendererLayer added one RenderPass. The
178 // DelegatedRendererLayer added two contributing passes. 178 // DelegatedRendererLayer added two contributing passes.
(...skipping 15 matching lines...) Expand all
194 // Verify it added the right quads. 194 // Verify it added the right quads.
195 ASSERT_EQ(2u, frame.render_passes[2]->quad_list.size()); 195 ASSERT_EQ(2u, frame.render_passes[2]->quad_list.size());
196 EXPECT_EQ(gfx::Rect(0, 0, 7, 7).ToString(), 196 EXPECT_EQ(gfx::Rect(0, 0, 7, 7).ToString(),
197 frame.render_passes[2]->quad_list[0]->rect.ToString()); 197 frame.render_passes[2]->quad_list[0]->rect.ToString());
198 EXPECT_EQ(gfx::Rect(6, 6, 6, 6).ToString(), 198 EXPECT_EQ(gfx::Rect(6, 6, 6, 6).ToString(),
199 frame.render_passes[2]->quad_list[1]->rect.ToString()); 199 frame.render_passes[2]->quad_list[1]->rect.ToString());
200 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size()); 200 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size());
201 EXPECT_EQ(gfx::Rect(0, 0, 6, 6).ToString(), 201 EXPECT_EQ(gfx::Rect(0, 0, 6, 6).ToString(),
202 frame.render_passes[1]->quad_list[0]->rect.ToString()); 202 frame.render_passes[1]->quad_list[0]->rect.ToString());
203 203
204 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 204 host_impl_->DrawLayers(&frame);
205 host_impl_->DidDrawAllLayers(frame); 205 host_impl_->DidDrawAllLayers(frame);
206 } 206 }
207 207
208 TEST_F(DelegatedRendererLayerImplTestSimple, AddsQuadsToTargetRenderPass) { 208 TEST_F(DelegatedRendererLayerImplTestSimple, AddsQuadsToTargetRenderPass) {
209 LayerTreeHostImpl::FrameData frame; 209 LayerTreeHostImpl::FrameData frame;
210 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 210 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
211 211
212 // Each non-DelegatedRendererLayer added one RenderPass. The 212 // Each non-DelegatedRendererLayer added one RenderPass. The
213 // DelegatedRendererLayer added two contributing passes. 213 // DelegatedRendererLayer added two contributing passes.
214 ASSERT_EQ(5u, frame.render_passes.size()); 214 ASSERT_EQ(5u, frame.render_passes.size());
215 215
216 // The layer's target is the RenderPass from layer_after_. 216 // The layer's target is the RenderPass from layer_after_.
217 EXPECT_EQ(RenderPass::Id(3, 0), frame.render_passes[3]->id); 217 EXPECT_EQ(RenderPass::Id(3, 0), frame.render_passes[3]->id);
218 218
219 // The DelegatedRendererLayer should have added copies of quads in its root 219 // The DelegatedRendererLayer should have added copies of quads in its root
220 // RenderPass to its target RenderPass. The layer_after_ also adds one quad. 220 // RenderPass to its target RenderPass. The layer_after_ also adds one quad.
221 ASSERT_EQ(2u, frame.render_passes[3]->quad_list.size()); 221 ASSERT_EQ(2u, frame.render_passes[3]->quad_list.size());
222 222
223 // Verify it added the right quads. 223 // Verify it added the right quads.
224 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(), 224 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(),
225 frame.render_passes[3]->quad_list[0]->rect.ToString()); 225 frame.render_passes[3]->quad_list[0]->rect.ToString());
226 226
227 // Its target layer should have a quad as well. 227 // Its target layer should have a quad as well.
228 EXPECT_EQ(gfx::Rect(0, 0, 15, 15).ToString(), 228 EXPECT_EQ(gfx::Rect(0, 0, 15, 15).ToString(),
229 frame.render_passes[3]->quad_list[1]->rect.ToString()); 229 frame.render_passes[3]->quad_list[1]->rect.ToString());
230 230
231 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 231 host_impl_->DrawLayers(&frame);
232 host_impl_->DidDrawAllLayers(frame); 232 host_impl_->DidDrawAllLayers(frame);
233 } 233 }
234 234
235 TEST_F(DelegatedRendererLayerImplTestSimple, 235 TEST_F(DelegatedRendererLayerImplTestSimple,
236 QuadsFromRootRenderPassAreModifiedForTheTarget) { 236 QuadsFromRootRenderPassAreModifiedForTheTarget) {
237 LayerTreeHostImpl::FrameData frame; 237 LayerTreeHostImpl::FrameData frame;
238 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 238 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
239 239
240 // Each non-DelegatedRendererLayer added one RenderPass. The 240 // Each non-DelegatedRendererLayer added one RenderPass. The
241 // DelegatedRendererLayer added two contributing passes. 241 // DelegatedRendererLayer added two contributing passes.
(...skipping 10 matching lines...) Expand all
252 // Quads from non-root RenderPasses should not be shifted though. 252 // Quads from non-root RenderPasses should not be shifted though.
253 ASSERT_EQ(2u, frame.render_passes[2]->quad_list.size()); 253 ASSERT_EQ(2u, frame.render_passes[2]->quad_list.size());
254 EXPECT_TRANSFORMATION_MATRIX_EQ( 254 EXPECT_TRANSFORMATION_MATRIX_EQ(
255 gfx::Transform(), frame.render_passes[2]->quad_list[0]->quadTransform()); 255 gfx::Transform(), frame.render_passes[2]->quad_list[0]->quadTransform());
256 EXPECT_TRANSFORMATION_MATRIX_EQ( 256 EXPECT_TRANSFORMATION_MATRIX_EQ(
257 gfx::Transform(), frame.render_passes[2]->quad_list[1]->quadTransform()); 257 gfx::Transform(), frame.render_passes[2]->quad_list[1]->quadTransform());
258 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size()); 258 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size());
259 EXPECT_TRANSFORMATION_MATRIX_EQ( 259 EXPECT_TRANSFORMATION_MATRIX_EQ(
260 gfx::Transform(), frame.render_passes[1]->quad_list[0]->quadTransform()); 260 gfx::Transform(), frame.render_passes[1]->quad_list[0]->quadTransform());
261 261
262 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 262 host_impl_->DrawLayers(&frame);
263 host_impl_->DidDrawAllLayers(frame); 263 host_impl_->DidDrawAllLayers(frame);
264 } 264 }
265 265
266 TEST_F(DelegatedRendererLayerImplTestSimple, RenderPassTransformIsModified) { 266 TEST_F(DelegatedRendererLayerImplTestSimple, RenderPassTransformIsModified) {
267 LayerTreeHostImpl::FrameData frame; 267 LayerTreeHostImpl::FrameData frame;
268 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 268 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
269 269
270 // The delegated layer has a surface between it and the root. 270 // The delegated layer has a surface between it and the root.
271 EXPECT_TRUE(delegated_renderer_layer_->render_target()->parent()); 271 EXPECT_TRUE(delegated_renderer_layer_->render_target()->parent());
272 272
(...skipping 11 matching lines...) Expand all
284 284
285 // The second contributing surface has a translation of 7, 8. 285 // The second contributing surface has a translation of 7, 8.
286 gfx::Transform seven_eight(1, 0, 0, 1, 7, 8); 286 gfx::Transform seven_eight(1, 0, 0, 1, 7, 8);
287 287
288 EXPECT_TRANSFORMATION_MATRIX_EQ( 288 EXPECT_TRANSFORMATION_MATRIX_EQ(
289 transform * five_six, frame.render_passes[1]->transform_to_root_target); 289 transform * five_six, frame.render_passes[1]->transform_to_root_target);
290 EXPECT_TRANSFORMATION_MATRIX_EQ( 290 EXPECT_TRANSFORMATION_MATRIX_EQ(
291 transform * seven_eight, 291 transform * seven_eight,
292 frame.render_passes[2]->transform_to_root_target); 292 frame.render_passes[2]->transform_to_root_target);
293 293
294 host_impl_->DrawLayers(&frame, base::TimeTicks::Now()); 294 host_impl_->DrawLayers(&frame);
295 host_impl_->DidDrawAllLayers(frame); 295 host_impl_->DidDrawAllLayers(frame);
296 } 296 }
297 297
298 TEST_F(DelegatedRendererLayerImplTestSimple, DoesNotOwnARenderSurface) { 298 TEST_F(DelegatedRendererLayerImplTestSimple, DoesNotOwnARenderSurface) {
299 LayerTreeHostImpl::FrameData frame; 299 LayerTreeHostImpl::FrameData frame;
300 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 300 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
301 301
302 // If the DelegatedRendererLayer is axis aligned and has opacity 1, then it 302 // If the DelegatedRendererLayer is axis aligned and has opacity 1, then it
303 // has no need to be a RenderSurface for the quads it carries. 303 // has no need to be a RenderSurface for the quads it carries.
304 EXPECT_FALSE(delegated_renderer_layer_->render_surface()); 304 EXPECT_FALSE(delegated_renderer_layer_->render_surface());
305 305
306 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 306 host_impl_->DrawLayers(&frame);
307 host_impl_->DidDrawAllLayers(frame); 307 host_impl_->DidDrawAllLayers(frame);
308 } 308 }
309 309
310 TEST_F(DelegatedRendererLayerImplTestSimple, DoesOwnARenderSurfaceForOpacity) { 310 TEST_F(DelegatedRendererLayerImplTestSimple, DoesOwnARenderSurfaceForOpacity) {
311 delegated_renderer_layer_->SetOpacity(0.5f); 311 delegated_renderer_layer_->SetOpacity(0.5f);
312 312
313 LayerTreeHostImpl::FrameData frame; 313 LayerTreeHostImpl::FrameData frame;
314 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 314 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
315 315
316 // This test case has quads from multiple layers in the delegated renderer, so 316 // This test case has quads from multiple layers in the delegated renderer, so
317 // if the DelegatedRendererLayer has opacity < 1, it should end up with a 317 // if the DelegatedRendererLayer has opacity < 1, it should end up with a
318 // render surface. 318 // render surface.
319 EXPECT_TRUE(delegated_renderer_layer_->render_surface()); 319 EXPECT_TRUE(delegated_renderer_layer_->render_surface());
320 320
321 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 321 host_impl_->DrawLayers(&frame);
322 host_impl_->DidDrawAllLayers(frame); 322 host_impl_->DidDrawAllLayers(frame);
323 } 323 }
324 324
325 TEST_F(DelegatedRendererLayerImplTestSimple, 325 TEST_F(DelegatedRendererLayerImplTestSimple,
326 DoesOwnARenderSurfaceForTransform) { 326 DoesOwnARenderSurfaceForTransform) {
327 gfx::Transform rotation; 327 gfx::Transform rotation;
328 rotation.RotateAboutZAxis(30.0); 328 rotation.RotateAboutZAxis(30.0);
329 delegated_renderer_layer_->SetTransform(rotation); 329 delegated_renderer_layer_->SetTransform(rotation);
330 330
331 LayerTreeHostImpl::FrameData frame; 331 LayerTreeHostImpl::FrameData frame;
332 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 332 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
333 333
334 // This test case has quads from multiple layers in the delegated renderer, so 334 // This test case has quads from multiple layers in the delegated renderer, so
335 // if the DelegatedRendererLayer has opacity < 1, it should end up with a 335 // if the DelegatedRendererLayer has opacity < 1, it should end up with a
336 // render surface. 336 // render surface.
337 EXPECT_TRUE(delegated_renderer_layer_->render_surface()); 337 EXPECT_TRUE(delegated_renderer_layer_->render_surface());
338 338
339 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 339 host_impl_->DrawLayers(&frame);
340 host_impl_->DidDrawAllLayers(frame); 340 host_impl_->DidDrawAllLayers(frame);
341 } 341 }
342 342
343 class DelegatedRendererLayerImplTestOwnSurface 343 class DelegatedRendererLayerImplTestOwnSurface
344 : public DelegatedRendererLayerImplTestSimple { 344 : public DelegatedRendererLayerImplTestSimple {
345 public: 345 public:
346 DelegatedRendererLayerImplTestOwnSurface() 346 DelegatedRendererLayerImplTestOwnSurface()
347 : DelegatedRendererLayerImplTestSimple() { 347 : DelegatedRendererLayerImplTestSimple() {
348 delegated_renderer_layer_->SetForceRenderSurface(true); 348 delegated_renderer_layer_->SetForceRenderSurface(true);
349 } 349 }
(...skipping 26 matching lines...) Expand all
376 EXPECT_NE(4, frame.render_passes[5]->id.layer_id); 376 EXPECT_NE(4, frame.render_passes[5]->id.layer_id);
377 EXPECT_EQ(0, frame.render_passes[5]->id.index); 377 EXPECT_EQ(0, frame.render_passes[5]->id.index);
378 378
379 // The DelegatedRendererLayer should have added its RenderPasses to the frame 379 // The DelegatedRendererLayer should have added its RenderPasses to the frame
380 // in order. 380 // in order.
381 EXPECT_EQ(gfx::Rect(6, 6, 6, 6).ToString(), 381 EXPECT_EQ(gfx::Rect(6, 6, 6, 6).ToString(),
382 frame.render_passes[1]->output_rect.ToString()); 382 frame.render_passes[1]->output_rect.ToString());
383 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(), 383 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(),
384 frame.render_passes[2]->output_rect.ToString()); 384 frame.render_passes[2]->output_rect.ToString());
385 385
386 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 386 host_impl_->DrawLayers(&frame);
387 host_impl_->DidDrawAllLayers(frame); 387 host_impl_->DidDrawAllLayers(frame);
388 } 388 }
389 389
390 TEST_F(DelegatedRendererLayerImplTestOwnSurface, 390 TEST_F(DelegatedRendererLayerImplTestOwnSurface,
391 AddsQuadsToContributingRenderPasses) { 391 AddsQuadsToContributingRenderPasses) {
392 LayerTreeHostImpl::FrameData frame; 392 LayerTreeHostImpl::FrameData frame;
393 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 393 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
394 394
395 // Each non-DelegatedRendererLayer added one RenderPass. The 395 // Each non-DelegatedRendererLayer added one RenderPass. The
396 // DelegatedRendererLayer added two contributing passes and its owned surface 396 // DelegatedRendererLayer added two contributing passes and its owned surface
(...skipping 16 matching lines...) Expand all
413 // Verify it added the right quads. 413 // Verify it added the right quads.
414 ASSERT_EQ(2u, frame.render_passes[2]->quad_list.size()); 414 ASSERT_EQ(2u, frame.render_passes[2]->quad_list.size());
415 EXPECT_EQ(gfx::Rect(0, 0, 7, 7).ToString(), 415 EXPECT_EQ(gfx::Rect(0, 0, 7, 7).ToString(),
416 frame.render_passes[2]->quad_list[0]->rect.ToString()); 416 frame.render_passes[2]->quad_list[0]->rect.ToString());
417 EXPECT_EQ(gfx::Rect(6, 6, 6, 6).ToString(), 417 EXPECT_EQ(gfx::Rect(6, 6, 6, 6).ToString(),
418 frame.render_passes[2]->quad_list[1]->rect.ToString()); 418 frame.render_passes[2]->quad_list[1]->rect.ToString());
419 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size()); 419 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size());
420 EXPECT_EQ(gfx::Rect(0, 0, 6, 6).ToString(), 420 EXPECT_EQ(gfx::Rect(0, 0, 6, 6).ToString(),
421 frame.render_passes[1]->quad_list[0]->rect.ToString()); 421 frame.render_passes[1]->quad_list[0]->rect.ToString());
422 422
423 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 423 host_impl_->DrawLayers(&frame);
424 host_impl_->DidDrawAllLayers(frame); 424 host_impl_->DidDrawAllLayers(frame);
425 } 425 }
426 426
427 TEST_F(DelegatedRendererLayerImplTestOwnSurface, AddsQuadsToTargetRenderPass) { 427 TEST_F(DelegatedRendererLayerImplTestOwnSurface, AddsQuadsToTargetRenderPass) {
428 LayerTreeHostImpl::FrameData frame; 428 LayerTreeHostImpl::FrameData frame;
429 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 429 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
430 430
431 // Each non-DelegatedRendererLayer added one RenderPass. The 431 // Each non-DelegatedRendererLayer added one RenderPass. The
432 // DelegatedRendererLayer added two contributing passes and its owned surface 432 // DelegatedRendererLayer added two contributing passes and its owned surface
433 // added one pass. 433 // added one pass.
434 ASSERT_EQ(6u, frame.render_passes.size()); 434 ASSERT_EQ(6u, frame.render_passes.size());
435 435
436 // The layer's target is the RenderPass owned by itself. 436 // The layer's target is the RenderPass owned by itself.
437 EXPECT_EQ(RenderPass::Id(4, 0), frame.render_passes[3]->id); 437 EXPECT_EQ(RenderPass::Id(4, 0), frame.render_passes[3]->id);
438 438
439 // The DelegatedRendererLayer should have added copies of quads in its root 439 // The DelegatedRendererLayer should have added copies of quads in its root
440 // RenderPass to its target RenderPass. 440 // RenderPass to its target RenderPass.
441 // The layer_after also adds one quad. 441 // The layer_after also adds one quad.
442 ASSERT_EQ(1u, frame.render_passes[3]->quad_list.size()); 442 ASSERT_EQ(1u, frame.render_passes[3]->quad_list.size());
443 443
444 // Verify it added the right quads. 444 // Verify it added the right quads.
445 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(), 445 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(),
446 frame.render_passes[3]->quad_list[0]->rect.ToString()); 446 frame.render_passes[3]->quad_list[0]->rect.ToString());
447 447
448 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 448 host_impl_->DrawLayers(&frame);
449 host_impl_->DidDrawAllLayers(frame); 449 host_impl_->DidDrawAllLayers(frame);
450 } 450 }
451 451
452 TEST_F(DelegatedRendererLayerImplTestOwnSurface, 452 TEST_F(DelegatedRendererLayerImplTestOwnSurface,
453 QuadsFromRootRenderPassAreNotModifiedForTheTarget) { 453 QuadsFromRootRenderPassAreNotModifiedForTheTarget) {
454 LayerTreeHostImpl::FrameData frame; 454 LayerTreeHostImpl::FrameData frame;
455 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 455 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
456 456
457 // Each non-DelegatedRendererLayer added one RenderPass. The 457 // Each non-DelegatedRendererLayer added one RenderPass. The
458 // DelegatedRendererLayer added two contributing passes and its owned surface 458 // DelegatedRendererLayer added two contributing passes and its owned surface
459 // added one pass. 459 // added one pass.
460 ASSERT_EQ(6u, frame.render_passes.size()); 460 ASSERT_EQ(6u, frame.render_passes.size());
461 461
462 // Because the DelegatedRendererLayer owns a RenderSurfaceImpl, its root 462 // Because the DelegatedRendererLayer owns a RenderSurfaceImpl, its root
463 // RenderPass' quads do not need to be translated at all. 463 // RenderPass' quads do not need to be translated at all.
464 EXPECT_TRANSFORMATION_MATRIX_EQ( 464 EXPECT_TRANSFORMATION_MATRIX_EQ(
465 gfx::Transform(), frame.render_passes[3]->quad_list[0]->quadTransform()); 465 gfx::Transform(), frame.render_passes[3]->quad_list[0]->quadTransform());
466 466
467 // Quads from non-root RenderPasses should not be shifted either. 467 // Quads from non-root RenderPasses should not be shifted either.
468 ASSERT_EQ(2u, frame.render_passes[2]->quad_list.size()); 468 ASSERT_EQ(2u, frame.render_passes[2]->quad_list.size());
469 EXPECT_TRANSFORMATION_MATRIX_EQ( 469 EXPECT_TRANSFORMATION_MATRIX_EQ(
470 gfx::Transform(), frame.render_passes[2]->quad_list[0]->quadTransform()); 470 gfx::Transform(), frame.render_passes[2]->quad_list[0]->quadTransform());
471 EXPECT_TRANSFORMATION_MATRIX_EQ( 471 EXPECT_TRANSFORMATION_MATRIX_EQ(
472 gfx::Transform(), frame.render_passes[2]->quad_list[1]->quadTransform()); 472 gfx::Transform(), frame.render_passes[2]->quad_list[1]->quadTransform());
473 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size()); 473 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size());
474 EXPECT_TRANSFORMATION_MATRIX_EQ( 474 EXPECT_TRANSFORMATION_MATRIX_EQ(
475 gfx::Transform(), frame.render_passes[1]->quad_list[0]->quadTransform()); 475 gfx::Transform(), frame.render_passes[1]->quad_list[0]->quadTransform());
476 476
477 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 477 host_impl_->DrawLayers(&frame);
478 host_impl_->DidDrawAllLayers(frame); 478 host_impl_->DidDrawAllLayers(frame);
479 } 479 }
480 480
481 class DelegatedRendererLayerImplTestTransform 481 class DelegatedRendererLayerImplTestTransform
482 : public DelegatedRendererLayerImplTest { 482 : public DelegatedRendererLayerImplTest {
483 public: 483 public:
484 DelegatedRendererLayerImplTestTransform() 484 DelegatedRendererLayerImplTestTransform()
485 : root_delegated_render_pass_is_clipped_(false), 485 : root_delegated_render_pass_is_clipped_(false),
486 delegated_device_scale_factor_(2.f) {} 486 delegated_device_scale_factor_(2.f) {}
487 487
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
727 EXPECT_EQ(gfx::Rect(21, 21, 3, 3).ToString(), 727 EXPECT_EQ(gfx::Rect(21, 21, 3, 3).ToString(),
728 contrib_delegated_shared_quad_state->clip_rect.ToString()); 728 contrib_delegated_shared_quad_state->clip_rect.ToString());
729 EXPECT_FALSE(contrib_delegated_shared_quad_state->is_clipped); 729 EXPECT_FALSE(contrib_delegated_shared_quad_state->is_clipped);
730 expected.MakeIdentity(); 730 expected.MakeIdentity();
731 expected.Scale(0.8f, 0.8f); 731 expected.Scale(0.8f, 0.8f);
732 expected.Translate(9.0, 9.0); 732 expected.Translate(9.0, 9.0);
733 EXPECT_TRANSFORMATION_MATRIX_EQ( 733 EXPECT_TRANSFORMATION_MATRIX_EQ(
734 expected, 734 expected,
735 contrib_delegated_shared_quad_state->content_to_target_transform); 735 contrib_delegated_shared_quad_state->content_to_target_transform);
736 736
737 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 737 host_impl_->DrawLayers(&frame);
738 host_impl_->DidDrawAllLayers(frame); 738 host_impl_->DidDrawAllLayers(frame);
739 } 739 }
740 740
741 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsClipped_NoSurface) { 741 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsClipped_NoSurface) {
742 root_delegated_render_pass_is_clipped_ = true; 742 root_delegated_render_pass_is_clipped_ = true;
743 SetUpTest(); 743 SetUpTest();
744 744
745 LayerTreeHostImpl::FrameData frame; 745 LayerTreeHostImpl::FrameData frame;
746 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 746 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
747 747
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
786 EXPECT_EQ(gfx::Rect(21, 21, 3, 3).ToString(), 786 EXPECT_EQ(gfx::Rect(21, 21, 3, 3).ToString(),
787 contrib_delegated_shared_quad_state->clip_rect.ToString()); 787 contrib_delegated_shared_quad_state->clip_rect.ToString());
788 EXPECT_FALSE(contrib_delegated_shared_quad_state->is_clipped); 788 EXPECT_FALSE(contrib_delegated_shared_quad_state->is_clipped);
789 expected.MakeIdentity(); 789 expected.MakeIdentity();
790 expected.Scale(0.8f, 0.8f); 790 expected.Scale(0.8f, 0.8f);
791 expected.Translate(9.0, 9.0); 791 expected.Translate(9.0, 9.0);
792 EXPECT_TRANSFORMATION_MATRIX_EQ( 792 EXPECT_TRANSFORMATION_MATRIX_EQ(
793 expected, 793 expected,
794 contrib_delegated_shared_quad_state->content_to_target_transform); 794 contrib_delegated_shared_quad_state->content_to_target_transform);
795 795
796 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 796 host_impl_->DrawLayers(&frame);
797 host_impl_->DidDrawAllLayers(frame); 797 host_impl_->DidDrawAllLayers(frame);
798 } 798 }
799 799
800 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsUnclipped_Surface) { 800 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsUnclipped_Surface) {
801 root_delegated_render_pass_is_clipped_ = false; 801 root_delegated_render_pass_is_clipped_ = false;
802 SetUpTest(); 802 SetUpTest();
803 803
804 delegated_renderer_layer_->SetForceRenderSurface(true); 804 delegated_renderer_layer_->SetForceRenderSurface(true);
805 805
806 LayerTreeHostImpl::FrameData frame; 806 LayerTreeHostImpl::FrameData frame;
(...skipping 27 matching lines...) Expand all
834 EXPECT_EQ(gfx::Rect(21, 21, 3, 3).ToString(), 834 EXPECT_EQ(gfx::Rect(21, 21, 3, 3).ToString(),
835 contrib_delegated_shared_quad_state->clip_rect.ToString()); 835 contrib_delegated_shared_quad_state->clip_rect.ToString());
836 EXPECT_FALSE(contrib_delegated_shared_quad_state->is_clipped); 836 EXPECT_FALSE(contrib_delegated_shared_quad_state->is_clipped);
837 expected.MakeIdentity(); 837 expected.MakeIdentity();
838 expected.Scale(0.8f, 0.8f); 838 expected.Scale(0.8f, 0.8f);
839 expected.Translate(9.0, 9.0); 839 expected.Translate(9.0, 9.0);
840 EXPECT_TRANSFORMATION_MATRIX_EQ( 840 EXPECT_TRANSFORMATION_MATRIX_EQ(
841 expected, 841 expected,
842 contrib_delegated_shared_quad_state->content_to_target_transform); 842 contrib_delegated_shared_quad_state->content_to_target_transform);
843 843
844 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 844 host_impl_->DrawLayers(&frame);
845 host_impl_->DidDrawAllLayers(frame); 845 host_impl_->DidDrawAllLayers(frame);
846 } 846 }
847 847
848 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsClipped_Surface) { 848 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsClipped_Surface) {
849 root_delegated_render_pass_is_clipped_ = true; 849 root_delegated_render_pass_is_clipped_ = true;
850 SetUpTest(); 850 SetUpTest();
851 851
852 delegated_renderer_layer_->SetForceRenderSurface(true); 852 delegated_renderer_layer_->SetForceRenderSurface(true);
853 853
854 LayerTreeHostImpl::FrameData frame; 854 LayerTreeHostImpl::FrameData frame;
(...skipping 26 matching lines...) Expand all
881 EXPECT_EQ(gfx::Rect(21, 21, 3, 3).ToString(), 881 EXPECT_EQ(gfx::Rect(21, 21, 3, 3).ToString(),
882 contrib_delegated_shared_quad_state->clip_rect.ToString()); 882 contrib_delegated_shared_quad_state->clip_rect.ToString());
883 EXPECT_FALSE(contrib_delegated_shared_quad_state->is_clipped); 883 EXPECT_FALSE(contrib_delegated_shared_quad_state->is_clipped);
884 expected.MakeIdentity(); 884 expected.MakeIdentity();
885 expected.Scale(0.8f, 0.8f); 885 expected.Scale(0.8f, 0.8f);
886 expected.Translate(9.0, 9.0); 886 expected.Translate(9.0, 9.0);
887 EXPECT_TRANSFORMATION_MATRIX_EQ( 887 EXPECT_TRANSFORMATION_MATRIX_EQ(
888 expected, 888 expected,
889 contrib_delegated_shared_quad_state->content_to_target_transform); 889 contrib_delegated_shared_quad_state->content_to_target_transform);
890 890
891 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 891 host_impl_->DrawLayers(&frame);
892 host_impl_->DidDrawAllLayers(frame); 892 host_impl_->DidDrawAllLayers(frame);
893 } 893 }
894 894
895 TEST_F(DelegatedRendererLayerImplTestTransform, MismatchedDeviceScaleFactor) { 895 TEST_F(DelegatedRendererLayerImplTestTransform, MismatchedDeviceScaleFactor) {
896 root_delegated_render_pass_is_clipped_ = true; 896 root_delegated_render_pass_is_clipped_ = true;
897 delegated_device_scale_factor_ = 1.3f; 897 delegated_device_scale_factor_ = 1.3f;
898 898
899 SetUpTest(); 899 SetUpTest();
900 900
901 LayerTreeHostImpl::FrameData frame; 901 LayerTreeHostImpl::FrameData frame;
(...skipping 18 matching lines...) Expand all
920 expected.Scale(2.0, 2.0); 920 expected.Scale(2.0, 2.0);
921 expected.Translate(8.0, 8.0); 921 expected.Translate(8.0, 8.0);
922 // This is the transform within the source frame. 922 // This is the transform within the source frame.
923 // Inverse device scale factor (from child). 923 // Inverse device scale factor (from child).
924 expected.Scale(1.0f / 1.3f, 1.0f / 1.3f); 924 expected.Scale(1.0f / 1.3f, 1.0f / 1.3f);
925 expected.Scale(1.5, 1.5); 925 expected.Scale(1.5, 1.5);
926 expected.Translate(7.0, 7.0); 926 expected.Translate(7.0, 7.0);
927 EXPECT_TRANSFORMATION_MATRIX_EQ( 927 EXPECT_TRANSFORMATION_MATRIX_EQ(
928 expected, root_delegated_shared_quad_state->content_to_target_transform); 928 expected, root_delegated_shared_quad_state->content_to_target_transform);
929 929
930 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 930 host_impl_->DrawLayers(&frame);
931 host_impl_->DidDrawAllLayers(frame); 931 host_impl_->DidDrawAllLayers(frame);
932 } 932 }
933 933
934 class DelegatedRendererLayerImplTestClip 934 class DelegatedRendererLayerImplTestClip
935 : public DelegatedRendererLayerImplTest { 935 : public DelegatedRendererLayerImplTest {
936 public: 936 public:
937 void SetUpTest() { 937 void SetUpTest() {
938 scoped_ptr<LayerImpl> root_layer = 938 scoped_ptr<LayerImpl> root_layer =
939 LayerImpl::Create(host_impl_->active_tree(), 1); 939 LayerImpl::Create(host_impl_->active_tree(), 1);
940 scoped_ptr<FakeDelegatedRendererLayerImpl> delegated_renderer_layer = 940 scoped_ptr<FakeDelegatedRendererLayerImpl> delegated_renderer_layer =
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
1119 const SharedQuadState* root_delegated_shared_quad_state = 1119 const SharedQuadState* root_delegated_shared_quad_state =
1120 root_delegated_quad_list[0]->shared_quad_state; 1120 root_delegated_quad_list[0]->shared_quad_state;
1121 1121
1122 // When the quads don't have a clip of their own, the clip rect is set to 1122 // When the quads don't have a clip of their own, the clip rect is set to
1123 // the drawable_content_rect of the delegated renderer layer. 1123 // the drawable_content_rect of the delegated renderer layer.
1124 EXPECT_EQ(gfx::Rect(20, 20, 50, 50).ToString(), 1124 EXPECT_EQ(gfx::Rect(20, 20, 50, 50).ToString(),
1125 root_delegated_shared_quad_state->clip_rect.ToString()); 1125 root_delegated_shared_quad_state->clip_rect.ToString());
1126 // Quads are clipped to the delegated renderer layer. 1126 // Quads are clipped to the delegated renderer layer.
1127 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); 1127 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped);
1128 1128
1129 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 1129 host_impl_->DrawLayers(&frame);
1130 host_impl_->DidDrawAllLayers(frame); 1130 host_impl_->DidDrawAllLayers(frame);
1131 } 1131 }
1132 1132
1133 TEST_F(DelegatedRendererLayerImplTestClip, 1133 TEST_F(DelegatedRendererLayerImplTestClip,
1134 QuadsClipped_LayerUnclipped_NoSurface) { 1134 QuadsClipped_LayerUnclipped_NoSurface) {
1135 root_delegated_render_pass_is_clipped_ = true; 1135 root_delegated_render_pass_is_clipped_ = true;
1136 clip_delegated_renderer_layer_ = false; 1136 clip_delegated_renderer_layer_ = false;
1137 SetUpTest(); 1137 SetUpTest();
1138 1138
1139 LayerTreeHostImpl::FrameData frame; 1139 LayerTreeHostImpl::FrameData frame;
1140 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1140 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1141 1141
1142 ASSERT_EQ(2u, frame.render_passes.size()); 1142 ASSERT_EQ(2u, frame.render_passes.size());
1143 const QuadList& contrib_delegated_quad_list = 1143 const QuadList& contrib_delegated_quad_list =
1144 frame.render_passes[0]->quad_list; 1144 frame.render_passes[0]->quad_list;
1145 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1145 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1146 const QuadList& root_delegated_quad_list = 1146 const QuadList& root_delegated_quad_list =
1147 frame.render_passes[1]->quad_list; 1147 frame.render_passes[1]->quad_list;
1148 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1148 ASSERT_EQ(5u, root_delegated_quad_list.size());
1149 const SharedQuadState* root_delegated_shared_quad_state = 1149 const SharedQuadState* root_delegated_shared_quad_state =
1150 root_delegated_quad_list[0]->shared_quad_state; 1150 root_delegated_quad_list[0]->shared_quad_state;
1151 1151
1152 // When the quads have a clip of their own, it is used. 1152 // When the quads have a clip of their own, it is used.
1153 EXPECT_EQ(gfx::Rect(25, 25, 40, 40).ToString(), 1153 EXPECT_EQ(gfx::Rect(25, 25, 40, 40).ToString(),
1154 root_delegated_shared_quad_state->clip_rect.ToString()); 1154 root_delegated_shared_quad_state->clip_rect.ToString());
1155 // Quads came with a clip rect. 1155 // Quads came with a clip rect.
1156 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); 1156 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped);
1157 1157
1158 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 1158 host_impl_->DrawLayers(&frame);
1159 host_impl_->DidDrawAllLayers(frame); 1159 host_impl_->DidDrawAllLayers(frame);
1160 } 1160 }
1161 1161
1162 TEST_F(DelegatedRendererLayerImplTestClip, 1162 TEST_F(DelegatedRendererLayerImplTestClip,
1163 QuadsUnclipped_LayerClipped_NoSurface) { 1163 QuadsUnclipped_LayerClipped_NoSurface) {
1164 root_delegated_render_pass_is_clipped_ = false; 1164 root_delegated_render_pass_is_clipped_ = false;
1165 clip_delegated_renderer_layer_ = true; 1165 clip_delegated_renderer_layer_ = true;
1166 SetUpTest(); 1166 SetUpTest();
1167 1167
1168 LayerTreeHostImpl::FrameData frame; 1168 LayerTreeHostImpl::FrameData frame;
1169 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1169 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1170 1170
1171 ASSERT_EQ(2u, frame.render_passes.size()); 1171 ASSERT_EQ(2u, frame.render_passes.size());
1172 const QuadList& contrib_delegated_quad_list = 1172 const QuadList& contrib_delegated_quad_list =
1173 frame.render_passes[0]->quad_list; 1173 frame.render_passes[0]->quad_list;
1174 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1174 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1175 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; 1175 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list;
1176 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1176 ASSERT_EQ(5u, root_delegated_quad_list.size());
1177 const SharedQuadState* root_delegated_shared_quad_state = 1177 const SharedQuadState* root_delegated_shared_quad_state =
1178 root_delegated_quad_list[0]->shared_quad_state; 1178 root_delegated_quad_list[0]->shared_quad_state;
1179 1179
1180 // When the quads don't have a clip of their own, the clip rect is set to 1180 // When the quads don't have a clip of their own, the clip rect is set to
1181 // the drawable_content_rect of the delegated renderer layer. When the layer 1181 // the drawable_content_rect of the delegated renderer layer. When the layer
1182 // is clipped, that should be seen in the quads' clip_rect. 1182 // is clipped, that should be seen in the quads' clip_rect.
1183 EXPECT_EQ(gfx::Rect(21, 27, 23, 21).ToString(), 1183 EXPECT_EQ(gfx::Rect(21, 27, 23, 21).ToString(),
1184 root_delegated_shared_quad_state->clip_rect.ToString()); 1184 root_delegated_shared_quad_state->clip_rect.ToString());
1185 // Quads are clipped to the delegated renderer layer. 1185 // Quads are clipped to the delegated renderer layer.
1186 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); 1186 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped);
1187 1187
1188 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 1188 host_impl_->DrawLayers(&frame);
1189 host_impl_->DidDrawAllLayers(frame); 1189 host_impl_->DidDrawAllLayers(frame);
1190 } 1190 }
1191 1191
1192 TEST_F(DelegatedRendererLayerImplTestClip, 1192 TEST_F(DelegatedRendererLayerImplTestClip,
1193 QuadsClipped_LayerClipped_NoSurface) { 1193 QuadsClipped_LayerClipped_NoSurface) {
1194 root_delegated_render_pass_is_clipped_ = true; 1194 root_delegated_render_pass_is_clipped_ = true;
1195 clip_delegated_renderer_layer_ = true; 1195 clip_delegated_renderer_layer_ = true;
1196 SetUpTest(); 1196 SetUpTest();
1197 1197
1198 LayerTreeHostImpl::FrameData frame; 1198 LayerTreeHostImpl::FrameData frame;
1199 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1199 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1200 1200
1201 ASSERT_EQ(2u, frame.render_passes.size()); 1201 ASSERT_EQ(2u, frame.render_passes.size());
1202 const QuadList& contrib_delegated_quad_list = 1202 const QuadList& contrib_delegated_quad_list =
1203 frame.render_passes[0]->quad_list; 1203 frame.render_passes[0]->quad_list;
1204 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1204 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1205 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; 1205 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list;
1206 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1206 ASSERT_EQ(5u, root_delegated_quad_list.size());
1207 const SharedQuadState* root_delegated_shared_quad_state = 1207 const SharedQuadState* root_delegated_shared_quad_state =
1208 root_delegated_quad_list[0]->shared_quad_state; 1208 root_delegated_quad_list[0]->shared_quad_state;
1209 1209
1210 // When the quads have a clip of their own, it is used, but it is 1210 // When the quads have a clip of their own, it is used, but it is
1211 // combined with the clip rect of the delegated renderer layer. 1211 // combined with the clip rect of the delegated renderer layer.
1212 EXPECT_EQ(gfx::Rect(25, 27, 19, 21).ToString(), 1212 EXPECT_EQ(gfx::Rect(25, 27, 19, 21).ToString(),
1213 root_delegated_shared_quad_state->clip_rect.ToString()); 1213 root_delegated_shared_quad_state->clip_rect.ToString());
1214 // Quads came with a clip rect. 1214 // Quads came with a clip rect.
1215 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); 1215 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped);
1216 1216
1217 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 1217 host_impl_->DrawLayers(&frame);
1218 host_impl_->DidDrawAllLayers(frame); 1218 host_impl_->DidDrawAllLayers(frame);
1219 } 1219 }
1220 1220
1221 TEST_F(DelegatedRendererLayerImplTestClip, 1221 TEST_F(DelegatedRendererLayerImplTestClip,
1222 QuadsUnclipped_LayerUnclipped_Surface) { 1222 QuadsUnclipped_LayerUnclipped_Surface) {
1223 root_delegated_render_pass_is_clipped_ = false; 1223 root_delegated_render_pass_is_clipped_ = false;
1224 clip_delegated_renderer_layer_ = false; 1224 clip_delegated_renderer_layer_ = false;
1225 SetUpTest(); 1225 SetUpTest();
1226 1226
1227 delegated_renderer_layer_->SetForceRenderSurface(true); 1227 delegated_renderer_layer_->SetForceRenderSurface(true);
1228 1228
1229 LayerTreeHostImpl::FrameData frame; 1229 LayerTreeHostImpl::FrameData frame;
1230 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1230 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1231 1231
1232 ASSERT_EQ(3u, frame.render_passes.size()); 1232 ASSERT_EQ(3u, frame.render_passes.size());
1233 const QuadList& contrib_delegated_quad_list = 1233 const QuadList& contrib_delegated_quad_list =
1234 frame.render_passes[0]->quad_list; 1234 frame.render_passes[0]->quad_list;
1235 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1235 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1236 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; 1236 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list;
1237 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1237 ASSERT_EQ(5u, root_delegated_quad_list.size());
1238 const SharedQuadState* root_delegated_shared_quad_state = 1238 const SharedQuadState* root_delegated_shared_quad_state =
1239 root_delegated_quad_list[0]->shared_quad_state; 1239 root_delegated_quad_list[0]->shared_quad_state;
1240 1240
1241 // When the layer owns a surface, the quads don't need to be clipped 1241 // When the layer owns a surface, the quads don't need to be clipped
1242 // further than they already specify. If they aren't clipped, then their 1242 // further than they already specify. If they aren't clipped, then their
1243 // clip rect is ignored, and they are not set as clipped. 1243 // clip rect is ignored, and they are not set as clipped.
1244 EXPECT_FALSE(root_delegated_shared_quad_state->is_clipped); 1244 EXPECT_FALSE(root_delegated_shared_quad_state->is_clipped);
1245 1245
1246 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 1246 host_impl_->DrawLayers(&frame);
1247 host_impl_->DidDrawAllLayers(frame); 1247 host_impl_->DidDrawAllLayers(frame);
1248 } 1248 }
1249 1249
1250 TEST_F(DelegatedRendererLayerImplTestClip, 1250 TEST_F(DelegatedRendererLayerImplTestClip,
1251 QuadsClipped_LayerUnclipped_Surface) { 1251 QuadsClipped_LayerUnclipped_Surface) {
1252 root_delegated_render_pass_is_clipped_ = true; 1252 root_delegated_render_pass_is_clipped_ = true;
1253 clip_delegated_renderer_layer_ = false; 1253 clip_delegated_renderer_layer_ = false;
1254 SetUpTest(); 1254 SetUpTest();
1255 1255
1256 delegated_renderer_layer_->SetForceRenderSurface(true); 1256 delegated_renderer_layer_->SetForceRenderSurface(true);
1257 1257
1258 LayerTreeHostImpl::FrameData frame; 1258 LayerTreeHostImpl::FrameData frame;
1259 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1259 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1260 1260
1261 ASSERT_EQ(3u, frame.render_passes.size()); 1261 ASSERT_EQ(3u, frame.render_passes.size());
1262 const QuadList& contrib_delegated_quad_list = 1262 const QuadList& contrib_delegated_quad_list =
1263 frame.render_passes[0]->quad_list; 1263 frame.render_passes[0]->quad_list;
1264 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1264 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1265 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; 1265 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list;
1266 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1266 ASSERT_EQ(5u, root_delegated_quad_list.size());
1267 const SharedQuadState* root_delegated_shared_quad_state = 1267 const SharedQuadState* root_delegated_shared_quad_state =
1268 root_delegated_quad_list[0]->shared_quad_state; 1268 root_delegated_quad_list[0]->shared_quad_state;
1269 1269
1270 // When the quads have a clip of their own, it is used. 1270 // When the quads have a clip of their own, it is used.
1271 EXPECT_EQ(gfx::Rect(5, 5, 40, 40).ToString(), 1271 EXPECT_EQ(gfx::Rect(5, 5, 40, 40).ToString(),
1272 root_delegated_shared_quad_state->clip_rect.ToString()); 1272 root_delegated_shared_quad_state->clip_rect.ToString());
1273 // Quads came with a clip rect. 1273 // Quads came with a clip rect.
1274 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); 1274 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped);
1275 1275
1276 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 1276 host_impl_->DrawLayers(&frame);
1277 host_impl_->DidDrawAllLayers(frame); 1277 host_impl_->DidDrawAllLayers(frame);
1278 } 1278 }
1279 1279
1280 TEST_F(DelegatedRendererLayerImplTestClip, 1280 TEST_F(DelegatedRendererLayerImplTestClip,
1281 QuadsUnclipped_LayerClipped_Surface) { 1281 QuadsUnclipped_LayerClipped_Surface) {
1282 root_delegated_render_pass_is_clipped_ = false; 1282 root_delegated_render_pass_is_clipped_ = false;
1283 clip_delegated_renderer_layer_ = true; 1283 clip_delegated_renderer_layer_ = true;
1284 SetUpTest(); 1284 SetUpTest();
1285 1285
1286 delegated_renderer_layer_->SetForceRenderSurface(true); 1286 delegated_renderer_layer_->SetForceRenderSurface(true);
1287 1287
1288 LayerTreeHostImpl::FrameData frame; 1288 LayerTreeHostImpl::FrameData frame;
1289 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1289 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1290 1290
1291 ASSERT_EQ(3u, frame.render_passes.size()); 1291 ASSERT_EQ(3u, frame.render_passes.size());
1292 const QuadList& contrib_delegated_quad_list = 1292 const QuadList& contrib_delegated_quad_list =
1293 frame.render_passes[0]->quad_list; 1293 frame.render_passes[0]->quad_list;
1294 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1294 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1295 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; 1295 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list;
1296 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1296 ASSERT_EQ(5u, root_delegated_quad_list.size());
1297 const SharedQuadState* root_delegated_shared_quad_state = 1297 const SharedQuadState* root_delegated_shared_quad_state =
1298 root_delegated_quad_list[0]->shared_quad_state; 1298 root_delegated_quad_list[0]->shared_quad_state;
1299 1299
1300 // When the layer owns a surface, the quads don't need to be clipped 1300 // When the layer owns a surface, the quads don't need to be clipped
1301 // further than they already specify. If they aren't clipped, then their 1301 // further than they already specify. If they aren't clipped, then their
1302 // clip rect is ignored, and they are not set as clipped. 1302 // clip rect is ignored, and they are not set as clipped.
1303 EXPECT_FALSE(root_delegated_shared_quad_state->is_clipped); 1303 EXPECT_FALSE(root_delegated_shared_quad_state->is_clipped);
1304 1304
1305 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 1305 host_impl_->DrawLayers(&frame);
1306 host_impl_->DidDrawAllLayers(frame); 1306 host_impl_->DidDrawAllLayers(frame);
1307 } 1307 }
1308 1308
1309 TEST_F(DelegatedRendererLayerImplTestClip, QuadsClipped_LayerClipped_Surface) { 1309 TEST_F(DelegatedRendererLayerImplTestClip, QuadsClipped_LayerClipped_Surface) {
1310 root_delegated_render_pass_is_clipped_ = true; 1310 root_delegated_render_pass_is_clipped_ = true;
1311 clip_delegated_renderer_layer_ = true; 1311 clip_delegated_renderer_layer_ = true;
1312 SetUpTest(); 1312 SetUpTest();
1313 1313
1314 delegated_renderer_layer_->SetForceRenderSurface(true); 1314 delegated_renderer_layer_->SetForceRenderSurface(true);
1315 1315
(...skipping 10 matching lines...) Expand all
1326 root_delegated_quad_list[0]->shared_quad_state; 1326 root_delegated_quad_list[0]->shared_quad_state;
1327 1327
1328 // When the quads have a clip of their own, it is used, but it is 1328 // When the quads have a clip of their own, it is used, but it is
1329 // combined with the clip rect of the delegated renderer layer. If the 1329 // combined with the clip rect of the delegated renderer layer. If the
1330 // layer owns a surface, then it does not have a clip rect of its own. 1330 // layer owns a surface, then it does not have a clip rect of its own.
1331 EXPECT_EQ(gfx::Rect(5, 5, 40, 40).ToString(), 1331 EXPECT_EQ(gfx::Rect(5, 5, 40, 40).ToString(),
1332 root_delegated_shared_quad_state->clip_rect.ToString()); 1332 root_delegated_shared_quad_state->clip_rect.ToString());
1333 // Quads came with a clip rect. 1333 // Quads came with a clip rect.
1334 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); 1334 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped);
1335 1335
1336 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 1336 host_impl_->DrawLayers(&frame);
1337 host_impl_->DidDrawAllLayers(frame); 1337 host_impl_->DidDrawAllLayers(frame);
1338 } 1338 }
1339 1339
1340 TEST_F(DelegatedRendererLayerImplTest, InvalidRenderPassDrawQuad) { 1340 TEST_F(DelegatedRendererLayerImplTest, InvalidRenderPassDrawQuad) {
1341 scoped_ptr<LayerImpl> root_layer = LayerImpl::Create( 1341 scoped_ptr<LayerImpl> root_layer = LayerImpl::Create(
1342 host_impl_->active_tree(), 1).PassAs<LayerImpl>(); 1342 host_impl_->active_tree(), 1).PassAs<LayerImpl>();
1343 scoped_ptr<FakeDelegatedRendererLayerImpl> delegated_renderer_layer = 1343 scoped_ptr<FakeDelegatedRendererLayerImpl> delegated_renderer_layer =
1344 FakeDelegatedRendererLayerImpl::Create(host_impl_->active_tree(), 4); 1344 FakeDelegatedRendererLayerImpl::Create(host_impl_->active_tree(), 4);
1345 1345
1346 host_impl_->SetViewportSize(gfx::Size(100, 100)); 1346 host_impl_->SetViewportSize(gfx::Size(100, 100));
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1379 1379
1380 LayerTreeHostImpl::FrameData frame; 1380 LayerTreeHostImpl::FrameData frame;
1381 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1381 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1382 1382
1383 // The DelegatedRendererLayerImpl should drop the bad RenderPassDrawQuad. 1383 // The DelegatedRendererLayerImpl should drop the bad RenderPassDrawQuad.
1384 ASSERT_EQ(1u, frame.render_passes.size()); 1384 ASSERT_EQ(1u, frame.render_passes.size());
1385 ASSERT_EQ(1u, frame.render_passes[0]->quad_list.size()); 1385 ASSERT_EQ(1u, frame.render_passes[0]->quad_list.size());
1386 EXPECT_EQ(DrawQuad::SOLID_COLOR, 1386 EXPECT_EQ(DrawQuad::SOLID_COLOR,
1387 frame.render_passes[0]->quad_list[0]->material); 1387 frame.render_passes[0]->quad_list[0]->material);
1388 1388
1389 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 1389 host_impl_->DrawLayers(&frame);
1390 host_impl_->DidDrawAllLayers(frame); 1390 host_impl_->DidDrawAllLayers(frame);
1391 } 1391 }
1392 1392
1393 TEST_F(DelegatedRendererLayerImplTest, Occlusion) { 1393 TEST_F(DelegatedRendererLayerImplTest, Occlusion) {
1394 gfx::Size layer_size(1000, 1000); 1394 gfx::Size layer_size(1000, 1000);
1395 gfx::Size viewport_size(1000, 1000); 1395 gfx::Size viewport_size(1000, 1000);
1396 gfx::Rect quad_rect(200, 300, 400, 500); 1396 gfx::Rect quad_rect(200, 300, 400, 500);
1397 1397
1398 gfx::Transform transform; 1398 gfx::Transform transform;
1399 transform.Translate(11.0, 0.0); 1399 transform.Translate(11.0, 0.0);
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
1518 // The occlusion extends to 500 in the x-axis, pushing the left of the 1518 // The occlusion extends to 500 in the x-axis, pushing the left of the
1519 // visible part of the quad to 500 - 211 = 300 - 11 inside the quad. 1519 // visible part of the quad to 500 - 211 = 300 - 11 inside the quad.
1520 EXPECT_EQ(gfx::Rect(300 - 11, 0, 100 + 11, 500).ToString(), 1520 EXPECT_EQ(gfx::Rect(300 - 11, 0, 100 + 11, 500).ToString(),
1521 impl.quad_list()[0]->visible_rect.ToString()); 1521 impl.quad_list()[0]->visible_rect.ToString());
1522 } 1522 }
1523 } 1523 }
1524 } 1524 }
1525 1525
1526 } // namespace 1526 } // namespace
1527 } // namespace cc 1527 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/test/layer_tree_test.cc » ('j') | cc/trees/single_thread_proxy.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698