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

Side by Side Diff: cc/output/overlay_unittest.cc

Issue 595593002: Splitting of layers for correct intersections (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes from issues introduced by the rebase, added tests for video_quads. Created 5 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/base/scoped_ptr_vector.h" 5 #include "cc/base/scoped_ptr_vector.h"
6 #include "cc/output/gl_renderer.h" 6 #include "cc/output/gl_renderer.h"
7 #include "cc/output/output_surface.h" 7 #include "cc/output/output_surface.h"
8 #include "cc/output/output_surface_client.h" 8 #include "cc/output/output_surface_client.h"
9 #include "cc/output/overlay_candidate_validator.h" 9 #include "cc/output/overlay_candidate_validator.h"
10 #include "cc/output/overlay_processor.h" 10 #include "cc/output/overlay_processor.h"
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 OutputSurface* output_surface, 530 OutputSurface* output_surface,
531 ResourceProvider* resource_provider) 531 ResourceProvider* resource_provider)
532 : GLRenderer(client, 532 : GLRenderer(client,
533 settings, 533 settings,
534 output_surface, 534 output_surface,
535 resource_provider, 535 resource_provider,
536 NULL, 536 NULL,
537 0), 537 0),
538 expect_overlays_(false) {} 538 expect_overlays_(false) {}
539 539
540 MOCK_METHOD2(DoDrawQuad, void(DrawingFrame* frame, const DrawQuad* quad)); 540 MOCK_METHOD3(DoDrawQuad,
541 void(DrawingFrame* frame,
542 const DrawQuad* quad,
543 const gfx::QuadF* draw_region));
541 544
542 using GLRenderer::BeginDrawingFrame; 545 using GLRenderer::BeginDrawingFrame;
543 546
544 void FinishDrawingFrame(DrawingFrame* frame) override { 547 void FinishDrawingFrame(DrawingFrame* frame) override {
545 GLRenderer::FinishDrawingFrame(frame); 548 GLRenderer::FinishDrawingFrame(frame);
546 549
547 if (!expect_overlays_) { 550 if (!expect_overlays_) {
548 EXPECT_EQ(0U, frame->overlay_list.size()); 551 EXPECT_EQ(0U, frame->overlay_list.size());
549 return; 552 return;
550 } 553 }
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
630 pass.get()); 633 pass.get());
631 CreateFullscreenCheckeredQuad(resource_provider_.get(), 634 CreateFullscreenCheckeredQuad(resource_provider_.get(),
632 pass->shared_quad_state_list.back(), 635 pass->shared_quad_state_list.back(),
633 pass.get()); 636 pass.get());
634 637
635 RenderPassList pass_list; 638 RenderPassList pass_list;
636 pass_list.push_back(pass.Pass()); 639 pass_list.push_back(pass.Pass());
637 640
638 // Candidate pass was taken out and extra skipped pass added, 641 // Candidate pass was taken out and extra skipped pass added,
639 // so only draw 2 quads. 642 // so only draw 2 quads.
640 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(2); 643 EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(2);
641 EXPECT_CALL(scheduler_, 644 EXPECT_CALL(scheduler_,
642 Schedule(1, 645 Schedule(1,
643 gfx::OVERLAY_TRANSFORM_NONE, 646 gfx::OVERLAY_TRANSFORM_NONE,
644 _, 647 _,
645 kOverlayRect, 648 kOverlayRect,
646 BoundingRect(kUVTopLeft, kUVBottomRight))).Times(1); 649 BoundingRect(kUVTopLeft, kUVBottomRight))).Times(1);
647 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); 650 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false);
648 651
649 SwapBuffers(); 652 SwapBuffers();
650 653
(...skipping 17 matching lines...) Expand all
668 pass.get()); 671 pass.get());
669 672
670 CreateFullscreenCandidateQuad(resource_provider_.get(), 673 CreateFullscreenCandidateQuad(resource_provider_.get(),
671 pass->shared_quad_state_list.back(), 674 pass->shared_quad_state_list.back(),
672 pass.get()); 675 pass.get());
673 676
674 RenderPassList pass_list; 677 RenderPassList pass_list;
675 pass_list.push_back(pass.Pass()); 678 pass_list.push_back(pass.Pass());
676 679
677 // 3 quads in the pass, all should draw. 680 // 3 quads in the pass, all should draw.
678 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(3); 681 EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(3);
679 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); 682 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0);
680 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); 683 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false);
681 684
682 SwapBuffers(); 685 SwapBuffers();
683 686
684 Mock::VerifyAndClearExpectations(renderer_.get()); 687 Mock::VerifyAndClearExpectations(renderer_.get());
685 Mock::VerifyAndClearExpectations(&scheduler_); 688 Mock::VerifyAndClearExpectations(&scheduler_);
686 } 689 }
687 690
688 TEST_F(GLRendererWithOverlaysTest, NoValidatorNoOverlay) { 691 TEST_F(GLRendererWithOverlaysTest, NoValidatorNoOverlay) {
(...skipping 12 matching lines...) Expand all
701 pass->shared_quad_state_list.back(), 704 pass->shared_quad_state_list.back(),
702 pass.get()); 705 pass.get());
703 CreateFullscreenCheckeredQuad(resource_provider_.get(), 706 CreateFullscreenCheckeredQuad(resource_provider_.get(),
704 pass->shared_quad_state_list.back(), 707 pass->shared_quad_state_list.back(),
705 pass.get()); 708 pass.get());
706 709
707 RenderPassList pass_list; 710 RenderPassList pass_list;
708 pass_list.push_back(pass.Pass()); 711 pass_list.push_back(pass.Pass());
709 712
710 // Should see no overlays. 713 // Should see no overlays.
711 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(3); 714 EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(3);
712 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); 715 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0);
713 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); 716 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false);
714 717
715 SwapBuffers(); 718 SwapBuffers();
716 719
717 Mock::VerifyAndClearExpectations(renderer_.get()); 720 Mock::VerifyAndClearExpectations(renderer_.get());
718 Mock::VerifyAndClearExpectations(&scheduler_); 721 Mock::VerifyAndClearExpectations(&scheduler_);
719 } 722 }
720 723
721 TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturned) { 724 TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturned) {
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
807 renderer_->BeginDrawingFrame(&frame3); 810 renderer_->BeginDrawingFrame(&frame3);
808 renderer_->FinishDrawingFrame(&frame3); 811 renderer_->FinishDrawingFrame(&frame3);
809 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); 812 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
810 SwapBuffers(); 813 SwapBuffers();
811 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); 814 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1));
812 Mock::VerifyAndClearExpectations(&scheduler_); 815 Mock::VerifyAndClearExpectations(&scheduler_);
813 } 816 }
814 817
815 } // namespace 818 } // namespace
816 } // namespace cc 819 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698