| 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/output/compositor_frame.h" | 5 #include "cc/output/compositor_frame.h" |
| 6 #include "cc/quads/render_pass.h" | 6 #include "cc/quads/render_pass.h" |
| 7 #include "cc/quads/solid_color_draw_quad.h" | 7 #include "cc/quads/solid_color_draw_quad.h" |
| 8 #include "cc/quads/surface_draw_quad.h" | 8 #include "cc/quads/surface_draw_quad.h" |
| 9 #include "cc/surfaces/compositor_frame_sink_support.h" | 9 #include "cc/surfaces/compositor_frame_sink_support.h" |
| 10 #include "cc/surfaces/local_surface_id_allocator.h" | 10 #include "cc/surfaces/local_surface_id_allocator.h" |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 class SurfacesPixelTest : public RendererPixelTest<GLRenderer> { | 33 class SurfacesPixelTest : public RendererPixelTest<GLRenderer> { |
| 34 public: | 34 public: |
| 35 SurfacesPixelTest() | 35 SurfacesPixelTest() |
| 36 : support_( | 36 : support_( |
| 37 CompositorFrameSinkSupport::Create(nullptr, | 37 CompositorFrameSinkSupport::Create(nullptr, |
| 38 &manager_, | 38 &manager_, |
| 39 kArbitraryRootFrameSinkId, | 39 kArbitraryRootFrameSinkId, |
| 40 kIsRoot, | 40 kIsRoot, |
| 41 kHandlesFrameSinkIdInvalidation, | 41 kHandlesFrameSinkIdInvalidation, |
| 42 kNeedsSyncPoints)) {} | 42 kNeedsSyncPoints)) {} |
| 43 ~SurfacesPixelTest() override { support_->EvictFrame(); } | 43 ~SurfacesPixelTest() override { support_->EvictCurrentSurface(); } |
| 44 | 44 |
| 45 protected: | 45 protected: |
| 46 SurfaceManager manager_; | 46 SurfaceManager manager_; |
| 47 LocalSurfaceIdAllocator allocator_; | 47 LocalSurfaceIdAllocator allocator_; |
| 48 std::unique_ptr<CompositorFrameSinkSupport> support_; | 48 std::unique_ptr<CompositorFrameSinkSupport> support_; |
| 49 }; | 49 }; |
| 50 | 50 |
| 51 SharedQuadState* CreateAndAppendTestSharedQuadState( | 51 SharedQuadState* CreateAndAppendTestSharedQuadState( |
| 52 RenderPass* render_pass, | 52 RenderPass* render_pass, |
| 53 const gfx::Transform& transform, | 53 const gfx::Transform& transform, |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 SurfaceAggregator aggregator(&manager_, resource_provider_.get(), true); | 175 SurfaceAggregator aggregator(&manager_, resource_provider_.get(), true); |
| 176 CompositorFrame aggregated_frame = aggregator.Aggregate(root_surface_id); | 176 CompositorFrame aggregated_frame = aggregator.Aggregate(root_surface_id); |
| 177 | 177 |
| 178 bool discard_alpha = false; | 178 bool discard_alpha = false; |
| 179 ExactPixelComparator pixel_comparator(discard_alpha); | 179 ExactPixelComparator pixel_comparator(discard_alpha); |
| 180 RenderPassList* pass_list = &aggregated_frame.render_pass_list; | 180 RenderPassList* pass_list = &aggregated_frame.render_pass_list; |
| 181 EXPECT_TRUE(RunPixelTest(pass_list, | 181 EXPECT_TRUE(RunPixelTest(pass_list, |
| 182 base::FilePath(FILE_PATH_LITERAL("blue_yellow.png")), | 182 base::FilePath(FILE_PATH_LITERAL("blue_yellow.png")), |
| 183 pixel_comparator)); | 183 pixel_comparator)); |
| 184 | 184 |
| 185 child_support->EvictFrame(); | 185 child_support->EvictCurrentSurface(); |
| 186 } | 186 } |
| 187 | 187 |
| 188 // Tests a surface quad that has a non-identity transform into its pass. | 188 // Tests a surface quad that has a non-identity transform into its pass. |
| 189 TEST_F(SurfacesPixelTest, DrawAggregatedFrameWithSurfaceTransforms) { | 189 TEST_F(SurfacesPixelTest, DrawAggregatedFrameWithSurfaceTransforms) { |
| 190 gfx::Size child_size(100, 200); | 190 gfx::Size child_size(100, 200); |
| 191 gfx::Size quad_size(100, 100); | 191 gfx::Size quad_size(100, 100); |
| 192 // Structure: | 192 // Structure: |
| 193 // root (200x200) -> left_child (100x200 @ 0x0, | 193 // root (200x200) -> left_child (100x200 @ 0x0, |
| 194 // right_child (100x200 @ 0x100) | 194 // right_child (100x200 @ 0x100) |
| 195 // left_child -> top_green_quad (100x100 @ 0x0), | 195 // left_child -> top_green_quad (100x100 @ 0x0), |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 317 CompositorFrame aggregated_frame = aggregator.Aggregate(root_surface_id); | 317 CompositorFrame aggregated_frame = aggregator.Aggregate(root_surface_id); |
| 318 | 318 |
| 319 bool discard_alpha = false; | 319 bool discard_alpha = false; |
| 320 ExactPixelComparator pixel_comparator(discard_alpha); | 320 ExactPixelComparator pixel_comparator(discard_alpha); |
| 321 RenderPassList* pass_list = &aggregated_frame.render_pass_list; | 321 RenderPassList* pass_list = &aggregated_frame.render_pass_list; |
| 322 EXPECT_TRUE(RunPixelTest( | 322 EXPECT_TRUE(RunPixelTest( |
| 323 pass_list, | 323 pass_list, |
| 324 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")), | 324 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")), |
| 325 pixel_comparator)); | 325 pixel_comparator)); |
| 326 | 326 |
| 327 left_support->EvictFrame(); | 327 left_support->EvictCurrentSurface(); |
| 328 right_support->EvictFrame(); | 328 right_support->EvictCurrentSurface(); |
| 329 } | 329 } |
| 330 | 330 |
| 331 } // namespace | 331 } // namespace |
| 332 } // namespace cc | 332 } // namespace cc |
| 333 | 333 |
| 334 #endif // !defined(OS_ANDROID) | 334 #endif // !defined(OS_ANDROID) |
| OLD | NEW |