| 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 420 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   431   const QuadList& quad_list = main_pass->quad_list; |   431   const QuadList& quad_list = main_pass->quad_list; | 
|   432   for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); |   432   for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); | 
|   433        it != quad_list.BackToFrontEnd(); ++it) { |   433        it != quad_list.BackToFrontEnd(); ++it) { | 
|   434     EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); |   434     EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); | 
|   435   } |   435   } | 
|   436  |   436  | 
|   437   // Check that the right resource id got extracted. |   437   // Check that the right resource id got extracted. | 
|   438   EXPECT_EQ(original_resource_id, candidate_list.back().resource_id); |   438   EXPECT_EQ(original_resource_id, candidate_list.back().resource_id); | 
|   439 } |   439 } | 
|   440  |   440  | 
 |   441 TEST_F(SandwichTest, CroppedSingleOverlay) { | 
 |   442   scoped_ptr<RenderPass> pass = CreateRenderPass(); | 
 |   443   pass->shared_quad_state_list.back()->is_clipped = true; | 
 |   444   pass->shared_quad_state_list.back()->clip_rect = gfx::Rect(0, 32, 64, 64); | 
 |   445  | 
 |   446   TextureDrawQuad* original_quad = CreateFullscreenCandidateQuad( | 
 |   447       resource_provider_.get(), pass->shared_quad_state_list.back(), | 
 |   448       pass.get()); | 
 |   449   original_quad->uv_top_left = gfx::PointF(0, 0); | 
 |   450   original_quad->uv_bottom_right = gfx::PointF(1, 1); | 
 |   451   unsigned candidate_id = original_quad->resource_id(); | 
 |   452  | 
 |   453   // Add something behind it. | 
 |   454   CreateFullscreenOpaqueQuad(resource_provider_.get(), | 
 |   455                              pass->shared_quad_state_list.back(), pass.get()); | 
 |   456   CreateFullscreenOpaqueQuad(resource_provider_.get(), | 
 |   457                              pass->shared_quad_state_list.back(), pass.get()); | 
 |   458  | 
 |   459   RenderPassList pass_list; | 
 |   460   pass_list.push_back(pass.Pass()); | 
 |   461  | 
 |   462   // Check for potential candidates. | 
 |   463   OverlayCandidateList candidate_list; | 
 |   464   overlay_processor_->ProcessForOverlays(&pass_list, &candidate_list); | 
 |   465  | 
 |   466   // Ensure that the display and uv rects have cropping applied to them. | 
 |   467   ASSERT_EQ(1U, pass_list.size()); | 
 |   468   ASSERT_EQ(2U, candidate_list.size()); | 
 |   469   EXPECT_EQ(candidate_id, candidate_list[1].resource_id); | 
 |   470   EXPECT_EQ(gfx::RectF(0.f, 32.f, 64.f, 64.f), candidate_list[1].display_rect); | 
 |   471   EXPECT_EQ(gfx::RectF(0.f, 0.25f, 0.5f, 0.5f), candidate_list[1].uv_rect); | 
 |   472 } | 
 |   473  | 
|   441 TEST_F(SandwichTest, SuccessfulTwoOverlays) { |   474 TEST_F(SandwichTest, SuccessfulTwoOverlays) { | 
|   442   scoped_ptr<RenderPass> pass = CreateRenderPass(); |   475   scoped_ptr<RenderPass> pass = CreateRenderPass(); | 
|   443  |   476  | 
|   444   // Add two non-overlapping candidates. |   477   // Add two non-overlapping candidates. | 
|   445   CreateCandidateQuadAt(resource_provider_.get(), |   478   CreateCandidateQuadAt(resource_provider_.get(), | 
|   446                         pass->shared_quad_state_list.back(), pass.get(), |   479                         pass->shared_quad_state_list.back(), pass.get(), | 
|   447                         kOverlayTopLeftRect); |   480                         kOverlayTopLeftRect); | 
|   448   CreateCandidateQuadAt(resource_provider_.get(), |   481   CreateCandidateQuadAt(resource_provider_.get(), | 
|   449                         pass->shared_quad_state_list.back(), pass.get(), |   482                         pass->shared_quad_state_list.back(), pass.get(), | 
|   450                         kOverlayBottomRightRect); |   483                         kOverlayBottomRightRect); | 
| (...skipping 1117 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1568   renderer_->BeginDrawingFrame(&frame_no_overlays); |  1601   renderer_->BeginDrawingFrame(&frame_no_overlays); | 
|  1569   renderer_->FinishDrawingFrame(&frame_no_overlays); |  1602   renderer_->FinishDrawingFrame(&frame_no_overlays); | 
|  1570   EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); |  1603   EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); | 
|  1571   SwapBuffers(); |  1604   SwapBuffers(); | 
|  1572   EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); |  1605   EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); | 
|  1573   Mock::VerifyAndClearExpectations(&scheduler_); |  1606   Mock::VerifyAndClearExpectations(&scheduler_); | 
|  1574 } |  1607 } | 
|  1575  |  1608  | 
|  1576 }  // namespace |  1609 }  // namespace | 
|  1577 }  // namespace cc |  1610 }  // namespace cc | 
| OLD | NEW |