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 |