| 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" |     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 415 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   426   const QuadList& quad_list = main_pass->quad_list; |   426   const QuadList& quad_list = main_pass->quad_list; | 
|   427   for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); |   427   for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); | 
|   428        it != quad_list.BackToFrontEnd(); ++it) { |   428        it != quad_list.BackToFrontEnd(); ++it) { | 
|   429     EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); |   429     EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); | 
|   430   } |   430   } | 
|   431  |   431  | 
|   432   // Check that the right resource id got extracted. |   432   // Check that the right resource id got extracted. | 
|   433   EXPECT_EQ(original_resource_id, candidate_list.back().resource_id); |   433   EXPECT_EQ(original_resource_id, candidate_list.back().resource_id); | 
|   434 } |   434 } | 
|   435  |   435  | 
 |   436 TEST_F(SandwichTest, CroppedSingleOverlay) { | 
 |   437   scoped_ptr<RenderPass> pass = CreateRenderPass(); | 
 |   438   pass->shared_quad_state_list.back()->is_clipped = true; | 
 |   439   pass->shared_quad_state_list.back()->clip_rect = gfx::Rect(0, 32, 64, 64); | 
 |   440  | 
 |   441   TextureDrawQuad* original_quad = CreateFullscreenCandidateQuad( | 
 |   442       resource_provider_.get(), pass->shared_quad_state_list.back(), | 
 |   443       pass.get()); | 
 |   444   original_quad->uv_top_left = gfx::PointF(0, 0); | 
 |   445   original_quad->uv_bottom_right = gfx::PointF(1, 1); | 
 |   446   unsigned candidate_id = original_quad->resource_id(); | 
 |   447  | 
 |   448   // Add something behind it. | 
 |   449   CreateFullscreenOpaqueQuad(resource_provider_.get(), | 
 |   450                              pass->shared_quad_state_list.back(), pass.get()); | 
 |   451   CreateFullscreenOpaqueQuad(resource_provider_.get(), | 
 |   452                              pass->shared_quad_state_list.back(), pass.get()); | 
 |   453  | 
 |   454   RenderPassList pass_list; | 
 |   455   pass_list.push_back(pass.Pass()); | 
 |   456  | 
 |   457   // Check for potential candidates. | 
 |   458   OverlayCandidateList candidate_list; | 
 |   459   overlay_processor_->ProcessForOverlays(&pass_list, &candidate_list); | 
 |   460  | 
 |   461   // Ensure that the display and uv rects have cropping applied to them. | 
 |   462   ASSERT_EQ(1U, pass_list.size()); | 
 |   463   ASSERT_EQ(2U, candidate_list.size()); | 
 |   464   EXPECT_EQ(candidate_id, candidate_list[1].resource_id); | 
 |   465   EXPECT_EQ(gfx::RectF(0.f, 32.f, 64.f, 64.f), candidate_list[1].display_rect); | 
 |   466   EXPECT_EQ(gfx::RectF(0.f, 0.25f, 0.5f, 0.5f), candidate_list[1].uv_rect); | 
 |   467 } | 
 |   468  | 
|   436 TEST_F(SandwichTest, SuccessfulTwoOverlays) { |   469 TEST_F(SandwichTest, SuccessfulTwoOverlays) { | 
|   437   scoped_ptr<RenderPass> pass = CreateRenderPass(); |   470   scoped_ptr<RenderPass> pass = CreateRenderPass(); | 
|   438  |   471  | 
|   439   // Add two non-overlapping candidates. |   472   // Add two non-overlapping candidates. | 
|   440   CreateCandidateQuadAt(resource_provider_.get(), |   473   CreateCandidateQuadAt(resource_provider_.get(), | 
|   441                         pass->shared_quad_state_list.back(), pass.get(), |   474                         pass->shared_quad_state_list.back(), pass.get(), | 
|   442                         kOverlayTopLeftRect); |   475                         kOverlayTopLeftRect); | 
|   443   CreateCandidateQuadAt(resource_provider_.get(), |   476   CreateCandidateQuadAt(resource_provider_.get(), | 
|   444                         pass->shared_quad_state_list.back(), pass.get(), |   477                         pass->shared_quad_state_list.back(), pass.get(), | 
|   445                         kOverlayBottomRightRect); |   478                         kOverlayBottomRightRect); | 
| (...skipping 1100 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1546   renderer_->BeginDrawingFrame(&frame_no_overlays); |  1579   renderer_->BeginDrawingFrame(&frame_no_overlays); | 
|  1547   renderer_->FinishDrawingFrame(&frame_no_overlays); |  1580   renderer_->FinishDrawingFrame(&frame_no_overlays); | 
|  1548   EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); |  1581   EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); | 
|  1549   SwapBuffers(); |  1582   SwapBuffers(); | 
|  1550   EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); |  1583   EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); | 
|  1551   Mock::VerifyAndClearExpectations(&scheduler_); |  1584   Mock::VerifyAndClearExpectations(&scheduler_); | 
|  1552 } |  1585 } | 
|  1553  |  1586  | 
|  1554 }  // namespace |  1587 }  // namespace | 
|  1555 }  // namespace cc |  1588 }  // namespace cc | 
| OLD | NEW |