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

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

Issue 1413763013: Avoid rendering using GL in case damage rect is composited by overlay (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update test Created 5 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
« no previous file with comments | « cc/output/direct_renderer.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/region.h" 5 #include "cc/base/region.h"
6 #include "cc/base/scoped_ptr_vector.h" 6 #include "cc/base/scoped_ptr_vector.h"
7 #include "cc/output/compositor_frame_metadata.h" 7 #include "cc/output/compositor_frame_metadata.h"
8 #include "cc/output/gl_renderer.h" 8 #include "cc/output/gl_renderer.h"
9 #include "cc/output/output_surface.h" 9 #include "cc/output/output_surface.h"
10 #include "cc/output/output_surface_client.h" 10 #include "cc/output/output_surface_client.h"
(...skipping 1595 matching lines...) Expand 10 before | Expand all | Expand 10 after
1606 // Should not see the primary surface's overlay. 1606 // Should not see the primary surface's overlay.
1607 output_surface_->set_is_displayed_as_overlay_plane(false); 1607 output_surface_->set_is_displayed_as_overlay_plane(false);
1608 EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(3); 1608 EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(3);
1609 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); 1609 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0);
1610 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); 1610 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false);
1611 SwapBuffers(); 1611 SwapBuffers();
1612 Mock::VerifyAndClearExpectations(renderer_.get()); 1612 Mock::VerifyAndClearExpectations(renderer_.get());
1613 Mock::VerifyAndClearExpectations(&scheduler_); 1613 Mock::VerifyAndClearExpectations(&scheduler_);
1614 } 1614 }
1615 1615
1616 TEST_F(GLRendererWithOverlaysTest, OccludedQuadNotDrawn) {
1617 bool use_validator = true;
1618 Init(use_validator);
1619 renderer_->set_expect_overlays(true);
1620 gfx::Rect viewport_rect(16, 16);
1621
1622 scoped_ptr<RenderPass> pass = CreateRenderPass();
1623
1624 CreateFullscreenCandidateQuad(resource_provider_.get(),
1625 pass->shared_quad_state_list.back(),
1626 pass.get());
1627
1628 CreateFullscreenOpaqueQuad(resource_provider_.get(),
1629 pass->shared_quad_state_list.back(), pass.get());
1630 CreateFullscreenOpaqueQuad(resource_provider_.get(),
1631 pass->shared_quad_state_list.back(), pass.get());
1632
1633 RenderPassList pass_list;
1634 pass_list.push_back(pass.Pass());
1635
1636 output_surface_->set_is_displayed_as_overlay_plane(true);
1637 EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(0);
1638 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
1639 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false);
1640 SwapBuffers();
1641 Mock::VerifyAndClearExpectations(renderer_.get());
1642 Mock::VerifyAndClearExpectations(&scheduler_);
1643 }
1644
1616 TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithDelay) { 1645 TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturnedWithDelay) {
1617 bool use_validator = true; 1646 bool use_validator = true;
1618 Init(use_validator); 1647 Init(use_validator);
1619 renderer_->set_expect_overlays(true); 1648 renderer_->set_expect_overlays(true);
1620 1649
1621 ResourceId resource1 = 1650 ResourceId resource1 =
1622 CreateResource(resource_provider_.get(), gfx::Size(32, 32), true); 1651 CreateResource(resource_provider_.get(), gfx::Size(32, 32), true);
1623 ResourceId resource2 = 1652 ResourceId resource2 =
1624 CreateResource(resource_provider_.get(), gfx::Size(32, 32), true); 1653 CreateResource(resource_provider_.get(), gfx::Size(32, 32), true);
1625 ResourceId resource3 = 1654 ResourceId resource3 =
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
1730 renderer_->BeginDrawingFrame(&frame_no_overlays); 1759 renderer_->BeginDrawingFrame(&frame_no_overlays);
1731 renderer_->FinishDrawingFrame(&frame_no_overlays); 1760 renderer_->FinishDrawingFrame(&frame_no_overlays);
1732 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); 1761 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
1733 SwapBuffers(); 1762 SwapBuffers();
1734 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); 1763 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1));
1735 Mock::VerifyAndClearExpectations(&scheduler_); 1764 Mock::VerifyAndClearExpectations(&scheduler_);
1736 } 1765 }
1737 1766
1738 } // namespace 1767 } // namespace
1739 } // namespace cc 1768 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/direct_renderer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698