| 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/surface.h" | 9 #include "cc/surfaces/surface.h" |
| 10 #include "cc/surfaces/surface_aggregator.h" | 10 #include "cc/surfaces/surface_aggregator.h" |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 SK_ColorGREEN, | 78 SK_ColorGREEN, |
| 79 force_anti_aliasing_off); | 79 force_anti_aliasing_off); |
| 80 | 80 |
| 81 scoped_ptr<DelegatedFrameData> delegated_frame_data(new DelegatedFrameData); | 81 scoped_ptr<DelegatedFrameData> delegated_frame_data(new DelegatedFrameData); |
| 82 delegated_frame_data->render_pass_list.push_back(pass.Pass()); | 82 delegated_frame_data->render_pass_list.push_back(pass.Pass()); |
| 83 | 83 |
| 84 scoped_ptr<CompositorFrame> root_frame(new CompositorFrame); | 84 scoped_ptr<CompositorFrame> root_frame(new CompositorFrame); |
| 85 root_frame->delegated_frame_data = delegated_frame_data.Pass(); | 85 root_frame->delegated_frame_data = delegated_frame_data.Pass(); |
| 86 | 86 |
| 87 SurfaceId root_surface_id = allocator_.GenerateId(); | 87 SurfaceId root_surface_id = allocator_.GenerateId(); |
| 88 factory_.Create(root_surface_id, device_viewport_size_); | 88 factory_.Create(root_surface_id); |
| 89 factory_.SubmitFrame(root_surface_id, root_frame.Pass(), base::Closure()); | 89 factory_.SubmitFrame(root_surface_id, root_frame.Pass(), base::Closure()); |
| 90 | 90 |
| 91 SurfaceAggregator aggregator(&manager_, resource_provider_.get()); | 91 SurfaceAggregator aggregator(&manager_, resource_provider_.get()); |
| 92 scoped_ptr<CompositorFrame> aggregated_frame = | 92 scoped_ptr<CompositorFrame> aggregated_frame = |
| 93 aggregator.Aggregate(root_surface_id); | 93 aggregator.Aggregate(root_surface_id); |
| 94 factory_.Destroy(root_surface_id); | 94 factory_.Destroy(root_surface_id); |
| 95 | 95 |
| 96 bool discard_alpha = false; | 96 bool discard_alpha = false; |
| 97 ExactPixelComparator pixel_comparator(discard_alpha); | 97 ExactPixelComparator pixel_comparator(discard_alpha); |
| 98 RenderPassList* pass_list = | 98 RenderPassList* pass_list = |
| 99 &aggregated_frame->delegated_frame_data->render_pass_list; | 99 &aggregated_frame->delegated_frame_data->render_pass_list; |
| 100 EXPECT_TRUE(RunPixelTest(pass_list, | 100 EXPECT_TRUE(RunPixelTest(pass_list, |
| 101 base::FilePath(FILE_PATH_LITERAL("green.png")), | 101 base::FilePath(FILE_PATH_LITERAL("green.png")), |
| 102 pixel_comparator)); | 102 pixel_comparator)); |
| 103 } | 103 } |
| 104 | 104 |
| 105 // Draws a frame with simple surface embedding. | 105 // Draws a frame with simple surface embedding. |
| 106 TEST_F(SurfacesPixelTest, DrawSimpleAggregatedFrame) { | 106 TEST_F(SurfacesPixelTest, DrawSimpleAggregatedFrame) { |
| 107 gfx::Size child_size(200, 100); | 107 gfx::Size child_size(200, 100); |
| 108 SurfaceId child_surface_id = allocator_.GenerateId(); | 108 SurfaceId child_surface_id = allocator_.GenerateId(); |
| 109 SurfaceId root_surface_id = allocator_.GenerateId(); | 109 SurfaceId root_surface_id = allocator_.GenerateId(); |
| 110 factory_.Create(child_surface_id, child_size); | 110 factory_.Create(child_surface_id); |
| 111 factory_.Create(root_surface_id, device_viewport_size_); | 111 factory_.Create(root_surface_id); |
| 112 { | 112 { |
| 113 gfx::Rect rect(device_viewport_size_); | 113 gfx::Rect rect(device_viewport_size_); |
| 114 RenderPassId id(1, 1); | 114 RenderPassId id(1, 1); |
| 115 scoped_ptr<RenderPass> pass = RenderPass::Create(); | 115 scoped_ptr<RenderPass> pass = RenderPass::Create(); |
| 116 pass->SetNew(id, rect, rect, gfx::Transform()); | 116 pass->SetNew(id, rect, rect, gfx::Transform()); |
| 117 | 117 |
| 118 CreateAndAppendTestSharedQuadState( | 118 CreateAndAppendTestSharedQuadState( |
| 119 pass.get(), gfx::Transform(), device_viewport_size_); | 119 pass.get(), gfx::Transform(), device_viewport_size_); |
| 120 | 120 |
| 121 SurfaceDrawQuad* surface_quad = | 121 SurfaceDrawQuad* surface_quad = |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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), |
| 196 // bottom_blue_quad (100x100 @ 0x100) | 196 // bottom_blue_quad (100x100 @ 0x100) |
| 197 // right_child -> top_blue_quad (100x100 @ 0x0), | 197 // right_child -> top_blue_quad (100x100 @ 0x0), |
| 198 // bottom_green_quad (100x100 @ 0x100) | 198 // bottom_green_quad (100x100 @ 0x100) |
| 199 SurfaceId left_child_id = allocator_.GenerateId(); | 199 SurfaceId left_child_id = allocator_.GenerateId(); |
| 200 SurfaceId right_child_id = allocator_.GenerateId(); | 200 SurfaceId right_child_id = allocator_.GenerateId(); |
| 201 SurfaceId root_surface_id = allocator_.GenerateId(); | 201 SurfaceId root_surface_id = allocator_.GenerateId(); |
| 202 factory_.Create(left_child_id, child_size); | 202 factory_.Create(left_child_id); |
| 203 factory_.Create(right_child_id, child_size); | 203 factory_.Create(right_child_id); |
| 204 factory_.Create(root_surface_id, device_viewport_size_); | 204 factory_.Create(root_surface_id); |
| 205 | 205 |
| 206 { | 206 { |
| 207 gfx::Rect rect(device_viewport_size_); | 207 gfx::Rect rect(device_viewport_size_); |
| 208 RenderPassId id(1, 1); | 208 RenderPassId id(1, 1); |
| 209 scoped_ptr<RenderPass> pass = RenderPass::Create(); | 209 scoped_ptr<RenderPass> pass = RenderPass::Create(); |
| 210 pass->SetNew(id, rect, rect, gfx::Transform()); | 210 pass->SetNew(id, rect, rect, gfx::Transform()); |
| 211 | 211 |
| 212 gfx::Transform surface_transform; | 212 gfx::Transform surface_transform; |
| 213 CreateAndAppendTestSharedQuadState( | 213 CreateAndAppendTestSharedQuadState( |
| 214 pass.get(), surface_transform, device_viewport_size_); | 214 pass.get(), surface_transform, device_viewport_size_); |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 | 325 |
| 326 factory_.Destroy(root_surface_id); | 326 factory_.Destroy(root_surface_id); |
| 327 factory_.Destroy(left_child_id); | 327 factory_.Destroy(left_child_id); |
| 328 factory_.Destroy(right_child_id); | 328 factory_.Destroy(right_child_id); |
| 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 |