Chromium Code Reviews| Index: cc/output/overlay_unittest.cc |
| diff --git a/cc/output/overlay_unittest.cc b/cc/output/overlay_unittest.cc |
| index 6ee0ac53226cbc576ed2c8fb75d485e6744f398a..5d1b05f65e702cd51107daece60ea0aee9cd46f5 100644 |
| --- a/cc/output/overlay_unittest.cc |
| +++ b/cc/output/overlay_unittest.cc |
| @@ -23,6 +23,7 @@ |
| #include "cc/test/geometry_test_utils.h" |
| #include "cc/test/test_context_provider.h" |
| #include "cc/test/test_shared_bitmap_manager.h" |
| +#include "cc/test/test_web_graphics_context_3d.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| #include "ui/gfx/geometry/rect_conversions.h" |
| @@ -1744,7 +1745,40 @@ TEST_F(GLRendererWithOverlaysTest, NoValidatorNoOverlay) { |
| Mock::VerifyAndClearExpectations(&scheduler_); |
| } |
| -TEST_F(GLRendererWithOverlaysTest, OccludedQuadNotDrawn) { |
|
watk
2015/12/02 01:05:01
I had to modify this test because this CL breaks t
piman
2015/12/02 01:23:05
I think it's ok for now. Currently all platforms t
|
| +// GLRenderer skips drawing occluded quads when partial swap is enabled. |
| +TEST_F(GLRendererWithOverlaysTest, OccludedQuadNotDrawnWhenPartialSwapEnabled) { |
| + provider_->TestContext3d()->set_have_post_sub_buffer(true); |
| + settings_.partial_swap_enabled = true; |
| + bool use_validator = true; |
| + Init(use_validator); |
| + renderer_->set_expect_overlays(true); |
| + gfx::Rect viewport_rect(16, 16); |
| + |
| + scoped_ptr<RenderPass> pass = CreateRenderPass(); |
| + |
| + CreateFullscreenCandidateQuad(resource_provider_.get(), |
| + pass->shared_quad_state_list.back(), |
| + pass.get()); |
| + CreateFullscreenOpaqueQuad(resource_provider_.get(), |
| + pass->shared_quad_state_list.back(), pass.get()); |
| + CreateFullscreenOpaqueQuad(resource_provider_.get(), |
| + pass->shared_quad_state_list.back(), pass.get()); |
| + |
| + RenderPassList pass_list; |
| + pass_list.push_back(std::move(pass)); |
| + |
| + output_surface_->set_is_displayed_as_overlay_plane(true); |
| + EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(0); |
| + EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2); |
| + renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); |
| + SwapBuffers(); |
| + Mock::VerifyAndClearExpectations(renderer_.get()); |
| + Mock::VerifyAndClearExpectations(&scheduler_); |
| +} |
| + |
| +// GLRenderer skips drawing occluded quads when empty swap is enabled. |
| +TEST_F(GLRendererWithOverlaysTest, OccludedQuadNotDrawnWhenEmptySwapAllowed) { |
| + provider_->TestContext3d()->set_have_commit_overlay_planes(true); |
| bool use_validator = true; |
| Init(use_validator); |
| renderer_->set_expect_overlays(true); |