OLD | NEW |
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/base/region.h" | 5 #include "cc/base/region.h" |
6 #include "cc/base/scoped_ptr_vector.h" | |
7 #include "cc/output/compositor_frame_metadata.h" | 6 #include "cc/output/compositor_frame_metadata.h" |
8 #include "cc/output/gl_renderer.h" | 7 #include "cc/output/gl_renderer.h" |
9 #include "cc/output/output_surface.h" | 8 #include "cc/output/output_surface.h" |
10 #include "cc/output/output_surface_client.h" | 9 #include "cc/output/output_surface_client.h" |
11 #include "cc/output/overlay_candidate_validator.h" | 10 #include "cc/output/overlay_candidate_validator.h" |
12 #include "cc/output/overlay_processor.h" | 11 #include "cc/output/overlay_processor.h" |
13 #include "cc/output/overlay_strategy_sandwich.h" | 12 #include "cc/output/overlay_strategy_sandwich.h" |
14 #include "cc/output/overlay_strategy_single_on_top.h" | 13 #include "cc/output/overlay_strategy_single_on_top.h" |
15 #include "cc/output/overlay_strategy_underlay.h" | 14 #include "cc/output/overlay_strategy_underlay.h" |
16 #include "cc/quads/render_pass.h" | 15 #include "cc/quads/render_pass.h" |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
303 const SharedQuadState* shared_quad_state, | 302 const SharedQuadState* shared_quad_state, |
304 RenderPass* render_pass) { | 303 RenderPass* render_pass) { |
305 CreateOpaqueQuadAt(resource_provider, shared_quad_state, render_pass, | 304 CreateOpaqueQuadAt(resource_provider, shared_quad_state, render_pass, |
306 kOverlayRect); | 305 kOverlayRect); |
307 } | 306 } |
308 | 307 |
309 static void CompareRenderPassLists(const RenderPassList& expected_list, | 308 static void CompareRenderPassLists(const RenderPassList& expected_list, |
310 const RenderPassList& actual_list) { | 309 const RenderPassList& actual_list) { |
311 EXPECT_EQ(expected_list.size(), actual_list.size()); | 310 EXPECT_EQ(expected_list.size(), actual_list.size()); |
312 for (size_t i = 0; i < actual_list.size(); ++i) { | 311 for (size_t i = 0; i < actual_list.size(); ++i) { |
313 RenderPass* expected = expected_list[i]; | 312 RenderPass* expected = expected_list[i].get(); |
314 RenderPass* actual = actual_list[i]; | 313 RenderPass* actual = actual_list[i].get(); |
315 | 314 |
316 EXPECT_EQ(expected->id, actual->id); | 315 EXPECT_EQ(expected->id, actual->id); |
317 EXPECT_EQ(expected->output_rect, actual->output_rect); | 316 EXPECT_EQ(expected->output_rect, actual->output_rect); |
318 EXPECT_EQ(expected->transform_to_root_target, | 317 EXPECT_EQ(expected->transform_to_root_target, |
319 actual->transform_to_root_target); | 318 actual->transform_to_root_target); |
320 EXPECT_EQ(expected->damage_rect, actual->damage_rect); | 319 EXPECT_EQ(expected->damage_rect, actual->damage_rect); |
321 EXPECT_EQ(expected->has_transparent_background, | 320 EXPECT_EQ(expected->has_transparent_background, |
322 actual->has_transparent_background); | 321 actual->has_transparent_background); |
323 | 322 |
324 EXPECT_EQ(expected->shared_quad_state_list.size(), | 323 EXPECT_EQ(expected->shared_quad_state_list.size(), |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
412 pass_list.push_back(pass.Pass()); | 411 pass_list.push_back(pass.Pass()); |
413 | 412 |
414 // Check for potential candidates. | 413 // Check for potential candidates. |
415 OverlayCandidateList candidate_list; | 414 OverlayCandidateList candidate_list; |
416 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, | 415 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, |
417 &candidate_list, &damage_rect_); | 416 &candidate_list, &damage_rect_); |
418 | 417 |
419 ASSERT_EQ(1U, pass_list.size()); | 418 ASSERT_EQ(1U, pass_list.size()); |
420 ASSERT_EQ(1U, candidate_list.size()); | 419 ASSERT_EQ(1U, candidate_list.size()); |
421 | 420 |
422 RenderPass* main_pass = pass_list.back(); | 421 RenderPass* main_pass = pass_list.back().get(); |
423 // Check that the quad is gone. | 422 // Check that the quad is gone. |
424 EXPECT_EQ(2U, main_pass->quad_list.size()); | 423 EXPECT_EQ(2U, main_pass->quad_list.size()); |
425 const QuadList& quad_list = main_pass->quad_list; | 424 const QuadList& quad_list = main_pass->quad_list; |
426 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); | 425 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); |
427 it != quad_list.BackToFrontEnd(); ++it) { | 426 it != quad_list.BackToFrontEnd(); ++it) { |
428 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); | 427 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); |
429 } | 428 } |
430 | 429 |
431 // Check that the right resource id got extracted. | 430 // Check that the right resource id got extracted. |
432 EXPECT_EQ(original_resource_id, candidate_list.back().resource_id); | 431 EXPECT_EQ(original_resource_id, candidate_list.back().resource_id); |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
551 RenderPassList pass_list; | 550 RenderPassList pass_list; |
552 pass_list.push_back(pass.Pass()); | 551 pass_list.push_back(pass.Pass()); |
553 | 552 |
554 // Check for potential candidates. | 553 // Check for potential candidates. |
555 OverlayCandidateList candidate_list; | 554 OverlayCandidateList candidate_list; |
556 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, | 555 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, |
557 &candidate_list, &damage_rect_); | 556 &candidate_list, &damage_rect_); |
558 ASSERT_EQ(1U, pass_list.size()); | 557 ASSERT_EQ(1U, pass_list.size()); |
559 ASSERT_EQ(2U, candidate_list.size()); | 558 ASSERT_EQ(2U, candidate_list.size()); |
560 | 559 |
561 RenderPass* main_pass = pass_list.back(); | 560 RenderPass* main_pass = pass_list.back().get(); |
562 // Check that the quad is gone. | 561 // Check that the quad is gone. |
563 EXPECT_EQ(3U, main_pass->quad_list.size()); | 562 EXPECT_EQ(3U, main_pass->quad_list.size()); |
564 const QuadList& quad_list = main_pass->quad_list; | 563 const QuadList& quad_list = main_pass->quad_list; |
565 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); | 564 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); |
566 it != quad_list.BackToFrontEnd(); ++it) { | 565 it != quad_list.BackToFrontEnd(); ++it) { |
567 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); | 566 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); |
568 } | 567 } |
569 | 568 |
570 EXPECT_EQ(candidate_id, candidate_list[0].resource_id); | 569 EXPECT_EQ(candidate_id, candidate_list[0].resource_id); |
571 EXPECT_EQ(gfx::RectF(32.f, 32.f, 32.f, 32.f), candidate_list[0].display_rect); | 570 EXPECT_EQ(gfx::RectF(32.f, 32.f, 32.f, 32.f), candidate_list[0].display_rect); |
(...skipping 26 matching lines...) Expand all Loading... |
598 | 597 |
599 // Then some opaque background. | 598 // Then some opaque background. |
600 CreateOpaqueQuadAt(resource_provider_.get(), | 599 CreateOpaqueQuadAt(resource_provider_.get(), |
601 pass->shared_quad_state_list.back(), pass.get(), | 600 pass->shared_quad_state_list.back(), pass.get(), |
602 gfx::Rect(kDisplaySize)); | 601 gfx::Rect(kDisplaySize)); |
603 | 602 |
604 RenderPassList pass_list; | 603 RenderPassList pass_list; |
605 pass_list.push_back(pass.Pass()); | 604 pass_list.push_back(pass.Pass()); |
606 | 605 |
607 // Run the overlay strategy on that input. | 606 // Run the overlay strategy on that input. |
608 RenderPass* main_pass = pass_list.back(); | 607 RenderPass* main_pass = pass_list.back().get(); |
609 OverlayCandidateList candidate_list; | 608 OverlayCandidateList candidate_list; |
610 EXPECT_EQ(4U, main_pass->quad_list.size()); | 609 EXPECT_EQ(4U, main_pass->quad_list.size()); |
611 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, | 610 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, |
612 &candidate_list, &damage_rect_); | 611 &candidate_list, &damage_rect_); |
613 ASSERT_EQ(1U, pass_list.size()); | 612 ASSERT_EQ(1U, pass_list.size()); |
614 ASSERT_EQ(3U, candidate_list.size()); | 613 ASSERT_EQ(3U, candidate_list.size()); |
615 | 614 |
616 // Check that the candidate quad is gone and that we now have two transparent | 615 // Check that the candidate quad is gone and that we now have two transparent |
617 // quads for the same region that was covered on the overlay. | 616 // quads for the same region that was covered on the overlay. |
618 EXPECT_EQ(5U, main_pass->quad_list.size()); | 617 EXPECT_EQ(5U, main_pass->quad_list.size()); |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
692 pass_list.push_back(pass.Pass()); | 691 pass_list.push_back(pass.Pass()); |
693 | 692 |
694 // Check for potential candidates. | 693 // Check for potential candidates. |
695 OverlayCandidateList candidate_list; | 694 OverlayCandidateList candidate_list; |
696 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, | 695 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, |
697 &candidate_list, &damage_rect_); | 696 &candidate_list, &damage_rect_); |
698 | 697 |
699 ASSERT_EQ(1U, pass_list.size()); | 698 ASSERT_EQ(1U, pass_list.size()); |
700 ASSERT_EQ(1U, candidate_list.size()); | 699 ASSERT_EQ(1U, candidate_list.size()); |
701 | 700 |
702 RenderPass* main_pass = pass_list.back(); | 701 RenderPass* main_pass = pass_list.back().get(); |
703 // Check that the quad is gone. | 702 // Check that the quad is gone. |
704 EXPECT_EQ(2U, main_pass->quad_list.size()); | 703 EXPECT_EQ(2U, main_pass->quad_list.size()); |
705 const QuadList& quad_list = main_pass->quad_list; | 704 const QuadList& quad_list = main_pass->quad_list; |
706 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); | 705 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); |
707 it != quad_list.BackToFrontEnd(); | 706 it != quad_list.BackToFrontEnd(); |
708 ++it) { | 707 ++it) { |
709 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); | 708 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); |
710 } | 709 } |
711 | 710 |
712 // Check that the right resource id got extracted. | 711 // Check that the right resource id got extracted. |
(...skipping 626 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1339 scoped_ptr<RenderPass> pass = CreateRenderPass(); | 1338 scoped_ptr<RenderPass> pass = CreateRenderPass(); |
1340 CreateFullscreenCandidateQuad(resource_provider_.get(), | 1339 CreateFullscreenCandidateQuad(resource_provider_.get(), |
1341 pass->shared_quad_state_list.back(), | 1340 pass->shared_quad_state_list.back(), |
1342 pass.get()); | 1341 pass.get()); |
1343 pass->shared_quad_state_list.back() | 1342 pass->shared_quad_state_list.back() |
1344 ->quad_to_target_transform.RotateAboutZAxis(45.f); | 1343 ->quad_to_target_transform.RotateAboutZAxis(45.f); |
1345 | 1344 |
1346 RenderPassList pass_list; | 1345 RenderPassList pass_list; |
1347 pass_list.push_back(pass.Pass()); | 1346 pass_list.push_back(pass.Pass()); |
1348 CALayerOverlayList ca_layer_list; | 1347 CALayerOverlayList ca_layer_list; |
1349 OverlayCandidateList overlay_list(BackbufferOverlayList(pass_list.back())); | 1348 OverlayCandidateList overlay_list( |
| 1349 BackbufferOverlayList(pass_list.back().get())); |
1350 overlay_processor_->ProcessForCALayers(resource_provider_.get(), &pass_list, | 1350 overlay_processor_->ProcessForCALayers(resource_provider_.get(), &pass_list, |
1351 &ca_layer_list, &overlay_list); | 1351 &ca_layer_list, &overlay_list); |
1352 ASSERT_EQ(1U, pass_list.size()); | 1352 ASSERT_EQ(1U, pass_list.size()); |
1353 EXPECT_EQ(0U, pass_list.back()->quad_list.size()); | 1353 EXPECT_EQ(0U, pass_list.back()->quad_list.size()); |
1354 EXPECT_EQ(0U, overlay_list.size()); | 1354 EXPECT_EQ(0U, overlay_list.size()); |
1355 EXPECT_EQ(1U, ca_layer_list.size()); | 1355 EXPECT_EQ(1U, ca_layer_list.size()); |
1356 } | 1356 } |
1357 | 1357 |
1358 TEST_F(CALayerOverlayTest, Disallow3DTransform) { | 1358 TEST_F(CALayerOverlayTest, Disallow3DTransform) { |
1359 scoped_ptr<RenderPass> pass = CreateRenderPass(); | 1359 scoped_ptr<RenderPass> pass = CreateRenderPass(); |
1360 CreateFullscreenCandidateQuad(resource_provider_.get(), | 1360 CreateFullscreenCandidateQuad(resource_provider_.get(), |
1361 pass->shared_quad_state_list.back(), | 1361 pass->shared_quad_state_list.back(), |
1362 pass.get()); | 1362 pass.get()); |
1363 pass->shared_quad_state_list.back() | 1363 pass->shared_quad_state_list.back() |
1364 ->quad_to_target_transform.RotateAboutXAxis(45.f); | 1364 ->quad_to_target_transform.RotateAboutXAxis(45.f); |
1365 | 1365 |
1366 RenderPassList pass_list; | 1366 RenderPassList pass_list; |
1367 pass_list.push_back(pass.Pass()); | 1367 pass_list.push_back(pass.Pass()); |
1368 CALayerOverlayList ca_layer_list; | 1368 CALayerOverlayList ca_layer_list; |
1369 OverlayCandidateList overlay_list(BackbufferOverlayList(pass_list.back())); | 1369 OverlayCandidateList overlay_list( |
| 1370 BackbufferOverlayList(pass_list.back().get())); |
1370 overlay_processor_->ProcessForCALayers(resource_provider_.get(), &pass_list, | 1371 overlay_processor_->ProcessForCALayers(resource_provider_.get(), &pass_list, |
1371 &ca_layer_list, &overlay_list); | 1372 &ca_layer_list, &overlay_list); |
1372 ASSERT_EQ(1U, pass_list.size()); | 1373 ASSERT_EQ(1U, pass_list.size()); |
1373 EXPECT_EQ(1U, pass_list.back()->quad_list.size()); | 1374 EXPECT_EQ(1U, pass_list.back()->quad_list.size()); |
1374 EXPECT_EQ(1U, overlay_list.size()); | 1375 EXPECT_EQ(1U, overlay_list.size()); |
1375 EXPECT_EQ(0U, ca_layer_list.size()); | 1376 EXPECT_EQ(0U, ca_layer_list.size()); |
1376 } | 1377 } |
1377 | 1378 |
1378 TEST_F(CALayerOverlayTest, AllowContainingClip) { | 1379 TEST_F(CALayerOverlayTest, AllowContainingClip) { |
1379 scoped_ptr<RenderPass> pass = CreateRenderPass(); | 1380 scoped_ptr<RenderPass> pass = CreateRenderPass(); |
1380 CreateFullscreenCandidateQuad(resource_provider_.get(), | 1381 CreateFullscreenCandidateQuad(resource_provider_.get(), |
1381 pass->shared_quad_state_list.back(), | 1382 pass->shared_quad_state_list.back(), |
1382 pass.get()); | 1383 pass.get()); |
1383 pass->shared_quad_state_list.back()->is_clipped = true; | 1384 pass->shared_quad_state_list.back()->is_clipped = true; |
1384 pass->shared_quad_state_list.back()->clip_rect = kOverlayRect; | 1385 pass->shared_quad_state_list.back()->clip_rect = kOverlayRect; |
1385 | 1386 |
1386 RenderPassList pass_list; | 1387 RenderPassList pass_list; |
1387 pass_list.push_back(pass.Pass()); | 1388 pass_list.push_back(pass.Pass()); |
1388 CALayerOverlayList ca_layer_list; | 1389 CALayerOverlayList ca_layer_list; |
1389 OverlayCandidateList overlay_list(BackbufferOverlayList(pass_list.back())); | 1390 OverlayCandidateList overlay_list( |
| 1391 BackbufferOverlayList(pass_list.back().get())); |
1390 overlay_processor_->ProcessForCALayers(resource_provider_.get(), &pass_list, | 1392 overlay_processor_->ProcessForCALayers(resource_provider_.get(), &pass_list, |
1391 &ca_layer_list, &overlay_list); | 1393 &ca_layer_list, &overlay_list); |
1392 ASSERT_EQ(1U, pass_list.size()); | 1394 ASSERT_EQ(1U, pass_list.size()); |
1393 EXPECT_EQ(0U, pass_list.back()->quad_list.size()); | 1395 EXPECT_EQ(0U, pass_list.back()->quad_list.size()); |
1394 EXPECT_EQ(0U, overlay_list.size()); | 1396 EXPECT_EQ(0U, overlay_list.size()); |
1395 EXPECT_EQ(1U, ca_layer_list.size()); | 1397 EXPECT_EQ(1U, ca_layer_list.size()); |
1396 } | 1398 } |
1397 | 1399 |
1398 TEST_F(CALayerOverlayTest, SkipDisjointClip) { | 1400 TEST_F(CALayerOverlayTest, SkipDisjointClip) { |
1399 scoped_ptr<RenderPass> pass = CreateRenderPass(); | 1401 scoped_ptr<RenderPass> pass = CreateRenderPass(); |
1400 CreateFullscreenCandidateQuad(resource_provider_.get(), | 1402 CreateFullscreenCandidateQuad(resource_provider_.get(), |
1401 pass->shared_quad_state_list.back(), | 1403 pass->shared_quad_state_list.back(), |
1402 pass.get()); | 1404 pass.get()); |
1403 pass->shared_quad_state_list.back()->is_clipped = true; | 1405 pass->shared_quad_state_list.back()->is_clipped = true; |
1404 pass->shared_quad_state_list.back()->clip_rect = | 1406 pass->shared_quad_state_list.back()->clip_rect = |
1405 gfx::Rect(128, 128, 128, 128); | 1407 gfx::Rect(128, 128, 128, 128); |
1406 | 1408 |
1407 RenderPassList pass_list; | 1409 RenderPassList pass_list; |
1408 pass_list.push_back(pass.Pass()); | 1410 pass_list.push_back(pass.Pass()); |
1409 CALayerOverlayList ca_layer_list; | 1411 CALayerOverlayList ca_layer_list; |
1410 OverlayCandidateList overlay_list(BackbufferOverlayList(pass_list.back())); | 1412 OverlayCandidateList overlay_list( |
| 1413 BackbufferOverlayList(pass_list.back().get())); |
1411 overlay_processor_->ProcessForCALayers(resource_provider_.get(), &pass_list, | 1414 overlay_processor_->ProcessForCALayers(resource_provider_.get(), &pass_list, |
1412 &ca_layer_list, &overlay_list); | 1415 &ca_layer_list, &overlay_list); |
1413 ASSERT_EQ(1U, pass_list.size()); | 1416 ASSERT_EQ(1U, pass_list.size()); |
1414 EXPECT_EQ(0U, pass_list.back()->quad_list.size()); | 1417 EXPECT_EQ(0U, pass_list.back()->quad_list.size()); |
1415 EXPECT_EQ(0U, overlay_list.size()); | 1418 EXPECT_EQ(0U, overlay_list.size()); |
1416 EXPECT_EQ(0U, ca_layer_list.size()); | 1419 EXPECT_EQ(0U, ca_layer_list.size()); |
1417 } | 1420 } |
1418 | 1421 |
1419 TEST_F(CALayerOverlayTest, DisallowNontrivialClip) { | 1422 TEST_F(CALayerOverlayTest, DisallowNontrivialClip) { |
1420 scoped_ptr<RenderPass> pass = CreateRenderPass(); | 1423 scoped_ptr<RenderPass> pass = CreateRenderPass(); |
1421 CreateFullscreenCandidateQuad(resource_provider_.get(), | 1424 CreateFullscreenCandidateQuad(resource_provider_.get(), |
1422 pass->shared_quad_state_list.back(), | 1425 pass->shared_quad_state_list.back(), |
1423 pass.get()); | 1426 pass.get()); |
1424 pass->shared_quad_state_list.back()->is_clipped = true; | 1427 pass->shared_quad_state_list.back()->is_clipped = true; |
1425 pass->shared_quad_state_list.back()->clip_rect = gfx::Rect(64, 64, 128, 128); | 1428 pass->shared_quad_state_list.back()->clip_rect = gfx::Rect(64, 64, 128, 128); |
1426 | 1429 |
1427 RenderPassList pass_list; | 1430 RenderPassList pass_list; |
1428 pass_list.push_back(pass.Pass()); | 1431 pass_list.push_back(pass.Pass()); |
1429 CALayerOverlayList ca_layer_list; | 1432 CALayerOverlayList ca_layer_list; |
1430 OverlayCandidateList overlay_list(BackbufferOverlayList(pass_list.back())); | 1433 OverlayCandidateList overlay_list( |
| 1434 BackbufferOverlayList(pass_list.back().get())); |
1431 overlay_processor_->ProcessForCALayers(resource_provider_.get(), &pass_list, | 1435 overlay_processor_->ProcessForCALayers(resource_provider_.get(), &pass_list, |
1432 &ca_layer_list, &overlay_list); | 1436 &ca_layer_list, &overlay_list); |
1433 | 1437 |
1434 ASSERT_EQ(1U, pass_list.size()); | 1438 ASSERT_EQ(1U, pass_list.size()); |
1435 EXPECT_EQ(1U, pass_list.back()->quad_list.size()); | 1439 EXPECT_EQ(1U, pass_list.back()->quad_list.size()); |
1436 EXPECT_EQ(1U, overlay_list.size()); | 1440 EXPECT_EQ(1U, overlay_list.size()); |
1437 EXPECT_EQ(0U, ca_layer_list.size()); | 1441 EXPECT_EQ(0U, ca_layer_list.size()); |
1438 } | 1442 } |
1439 | 1443 |
1440 TEST_F(CALayerOverlayTest, SkipTransparent) { | 1444 TEST_F(CALayerOverlayTest, SkipTransparent) { |
1441 scoped_ptr<RenderPass> pass = CreateRenderPass(); | 1445 scoped_ptr<RenderPass> pass = CreateRenderPass(); |
1442 CreateFullscreenCandidateQuad(resource_provider_.get(), | 1446 CreateFullscreenCandidateQuad(resource_provider_.get(), |
1443 pass->shared_quad_state_list.back(), | 1447 pass->shared_quad_state_list.back(), |
1444 pass.get()); | 1448 pass.get()); |
1445 pass->shared_quad_state_list.back()->opacity = 0; | 1449 pass->shared_quad_state_list.back()->opacity = 0; |
1446 | 1450 |
1447 RenderPassList pass_list; | 1451 RenderPassList pass_list; |
1448 pass_list.push_back(pass.Pass()); | 1452 pass_list.push_back(pass.Pass()); |
1449 CALayerOverlayList ca_layer_list; | 1453 CALayerOverlayList ca_layer_list; |
1450 OverlayCandidateList overlay_list(BackbufferOverlayList(pass_list.back())); | 1454 OverlayCandidateList overlay_list( |
| 1455 BackbufferOverlayList(pass_list.back().get())); |
1451 overlay_processor_->ProcessForCALayers(resource_provider_.get(), &pass_list, | 1456 overlay_processor_->ProcessForCALayers(resource_provider_.get(), &pass_list, |
1452 &ca_layer_list, &overlay_list); | 1457 &ca_layer_list, &overlay_list); |
1453 ASSERT_EQ(1U, pass_list.size()); | 1458 ASSERT_EQ(1U, pass_list.size()); |
1454 EXPECT_EQ(0U, pass_list.back()->quad_list.size()); | 1459 EXPECT_EQ(0U, pass_list.back()->quad_list.size()); |
1455 EXPECT_EQ(0U, overlay_list.size()); | 1460 EXPECT_EQ(0U, overlay_list.size()); |
1456 EXPECT_EQ(0U, ca_layer_list.size()); | 1461 EXPECT_EQ(0U, ca_layer_list.size()); |
1457 } | 1462 } |
1458 | 1463 |
1459 class OverlayInfoRendererGL : public GLRenderer { | 1464 class OverlayInfoRendererGL : public GLRenderer { |
1460 public: | 1465 public: |
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1802 renderer_->BeginDrawingFrame(&frame_no_overlays); | 1807 renderer_->BeginDrawingFrame(&frame_no_overlays); |
1803 renderer_->FinishDrawingFrame(&frame_no_overlays); | 1808 renderer_->FinishDrawingFrame(&frame_no_overlays); |
1804 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); | 1809 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); |
1805 SwapBuffers(); | 1810 SwapBuffers(); |
1806 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); | 1811 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); |
1807 Mock::VerifyAndClearExpectations(&scheduler_); | 1812 Mock::VerifyAndClearExpectations(&scheduler_); |
1808 } | 1813 } |
1809 | 1814 |
1810 } // namespace | 1815 } // namespace |
1811 } // namespace cc | 1816 } // namespace cc |
OLD | NEW |