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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 shared_state->SetAll(transform, layer_bounds, visible_layer_rect, clip_rect, | 54 shared_state->SetAll(transform, layer_bounds, visible_layer_rect, clip_rect, |
55 is_clipped, opacity, blend_mode, 0); | 55 is_clipped, opacity, blend_mode, 0); |
56 return shared_state; | 56 return shared_state; |
57 } | 57 } |
58 | 58 |
59 // Draws a very simple frame with no surface references. | 59 // Draws a very simple frame with no surface references. |
60 TEST_F(SurfacesPixelTest, DrawSimpleFrame) { | 60 TEST_F(SurfacesPixelTest, DrawSimpleFrame) { |
61 gfx::Rect rect(device_viewport_size_); | 61 gfx::Rect rect(device_viewport_size_); |
62 RenderPassId id(1, 1); | 62 RenderPassId id(1, 1); |
63 std::unique_ptr<RenderPass> pass = RenderPass::Create(); | 63 std::unique_ptr<RenderPass> pass = RenderPass::Create(); |
64 pass->SetNew(id, rect, rect, gfx::Transform()); | 64 pass->SetNew(id, rect, rect, gfx::Transform(), FilterOperations(), |
| 65 FilterOperations()); |
65 | 66 |
66 CreateAndAppendTestSharedQuadState( | 67 CreateAndAppendTestSharedQuadState( |
67 pass.get(), gfx::Transform(), device_viewport_size_); | 68 pass.get(), gfx::Transform(), device_viewport_size_); |
68 | 69 |
69 SolidColorDrawQuad* color_quad = | 70 SolidColorDrawQuad* color_quad = |
70 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 71 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
71 bool force_anti_aliasing_off = false; | 72 bool force_anti_aliasing_off = false; |
72 color_quad->SetNew(pass->shared_quad_state_list.back(), | 73 color_quad->SetNew(pass->shared_quad_state_list.back(), |
73 rect, | 74 rect, |
74 rect, | 75 rect, |
(...skipping 29 matching lines...) Expand all Loading... |
104 SurfaceId child_surface_id(factory_.frame_sink_id(), child_local_frame_id); | 105 SurfaceId child_surface_id(factory_.frame_sink_id(), child_local_frame_id); |
105 LocalFrameId root_local_frame_id = allocator_.GenerateId(); | 106 LocalFrameId root_local_frame_id = allocator_.GenerateId(); |
106 SurfaceId root_surface_id(factory_.frame_sink_id(), root_local_frame_id); | 107 SurfaceId root_surface_id(factory_.frame_sink_id(), root_local_frame_id); |
107 | 108 |
108 factory_.Create(child_local_frame_id); | 109 factory_.Create(child_local_frame_id); |
109 factory_.Create(root_local_frame_id); | 110 factory_.Create(root_local_frame_id); |
110 { | 111 { |
111 gfx::Rect rect(device_viewport_size_); | 112 gfx::Rect rect(device_viewport_size_); |
112 RenderPassId id(1, 1); | 113 RenderPassId id(1, 1); |
113 std::unique_ptr<RenderPass> pass = RenderPass::Create(); | 114 std::unique_ptr<RenderPass> pass = RenderPass::Create(); |
114 pass->SetNew(id, rect, rect, gfx::Transform()); | 115 pass->SetNew(id, rect, rect, gfx::Transform(), FilterOperations(), |
| 116 FilterOperations()); |
115 | 117 |
116 CreateAndAppendTestSharedQuadState( | 118 CreateAndAppendTestSharedQuadState( |
117 pass.get(), gfx::Transform(), device_viewport_size_); | 119 pass.get(), gfx::Transform(), device_viewport_size_); |
118 | 120 |
119 SurfaceDrawQuad* surface_quad = | 121 SurfaceDrawQuad* surface_quad = |
120 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); | 122 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); |
121 surface_quad->SetNew(pass->shared_quad_state_list.back(), | 123 surface_quad->SetNew(pass->shared_quad_state_list.back(), |
122 gfx::Rect(child_size), | 124 gfx::Rect(child_size), |
123 gfx::Rect(child_size), | 125 gfx::Rect(child_size), |
124 child_surface_id); | 126 child_surface_id); |
(...skipping 11 matching lines...) Expand all Loading... |
136 root_frame.render_pass_list.push_back(std::move(pass)); | 138 root_frame.render_pass_list.push_back(std::move(pass)); |
137 | 139 |
138 factory_.SubmitCompositorFrame(root_local_frame_id, std::move(root_frame), | 140 factory_.SubmitCompositorFrame(root_local_frame_id, std::move(root_frame), |
139 SurfaceFactory::DrawCallback()); | 141 SurfaceFactory::DrawCallback()); |
140 } | 142 } |
141 | 143 |
142 { | 144 { |
143 gfx::Rect rect(child_size); | 145 gfx::Rect rect(child_size); |
144 RenderPassId id(1, 1); | 146 RenderPassId id(1, 1); |
145 std::unique_ptr<RenderPass> pass = RenderPass::Create(); | 147 std::unique_ptr<RenderPass> pass = RenderPass::Create(); |
146 pass->SetNew(id, rect, rect, gfx::Transform()); | 148 pass->SetNew(id, rect, rect, gfx::Transform(), FilterOperations(), |
| 149 FilterOperations()); |
147 | 150 |
148 CreateAndAppendTestSharedQuadState( | 151 CreateAndAppendTestSharedQuadState( |
149 pass.get(), gfx::Transform(), child_size); | 152 pass.get(), gfx::Transform(), child_size); |
150 | 153 |
151 SolidColorDrawQuad* color_quad = | 154 SolidColorDrawQuad* color_quad = |
152 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 155 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
153 bool force_anti_aliasing_off = false; | 156 bool force_anti_aliasing_off = false; |
154 color_quad->SetNew(pass->shared_quad_state_list.back(), | 157 color_quad->SetNew(pass->shared_quad_state_list.back(), |
155 rect, | 158 rect, |
156 rect, | 159 rect, |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 LocalFrameId root_local_frame_id = allocator_.GenerateId(); | 198 LocalFrameId root_local_frame_id = allocator_.GenerateId(); |
196 SurfaceId root_surface_id(factory_.frame_sink_id(), root_local_frame_id); | 199 SurfaceId root_surface_id(factory_.frame_sink_id(), root_local_frame_id); |
197 factory_.Create(left_child_local_id); | 200 factory_.Create(left_child_local_id); |
198 factory_.Create(right_child_local_id); | 201 factory_.Create(right_child_local_id); |
199 factory_.Create(root_local_frame_id); | 202 factory_.Create(root_local_frame_id); |
200 | 203 |
201 { | 204 { |
202 gfx::Rect rect(device_viewport_size_); | 205 gfx::Rect rect(device_viewport_size_); |
203 RenderPassId id(1, 1); | 206 RenderPassId id(1, 1); |
204 std::unique_ptr<RenderPass> pass = RenderPass::Create(); | 207 std::unique_ptr<RenderPass> pass = RenderPass::Create(); |
205 pass->SetNew(id, rect, rect, gfx::Transform()); | 208 pass->SetNew(id, rect, rect, gfx::Transform(), FilterOperations(), |
| 209 FilterOperations()); |
206 | 210 |
207 gfx::Transform surface_transform; | 211 gfx::Transform surface_transform; |
208 CreateAndAppendTestSharedQuadState( | 212 CreateAndAppendTestSharedQuadState( |
209 pass.get(), surface_transform, device_viewport_size_); | 213 pass.get(), surface_transform, device_viewport_size_); |
210 | 214 |
211 SurfaceDrawQuad* left_surface_quad = | 215 SurfaceDrawQuad* left_surface_quad = |
212 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); | 216 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); |
213 left_surface_quad->SetNew(pass->shared_quad_state_list.back(), | 217 left_surface_quad->SetNew(pass->shared_quad_state_list.back(), |
214 gfx::Rect(child_size), | 218 gfx::Rect(child_size), |
215 gfx::Rect(child_size), | 219 gfx::Rect(child_size), |
(...skipping 14 matching lines...) Expand all Loading... |
230 root_frame.render_pass_list.push_back(std::move(pass)); | 234 root_frame.render_pass_list.push_back(std::move(pass)); |
231 | 235 |
232 factory_.SubmitCompositorFrame(root_local_frame_id, std::move(root_frame), | 236 factory_.SubmitCompositorFrame(root_local_frame_id, std::move(root_frame), |
233 SurfaceFactory::DrawCallback()); | 237 SurfaceFactory::DrawCallback()); |
234 } | 238 } |
235 | 239 |
236 { | 240 { |
237 gfx::Rect rect(child_size); | 241 gfx::Rect rect(child_size); |
238 RenderPassId id(1, 1); | 242 RenderPassId id(1, 1); |
239 std::unique_ptr<RenderPass> pass = RenderPass::Create(); | 243 std::unique_ptr<RenderPass> pass = RenderPass::Create(); |
240 pass->SetNew(id, rect, rect, gfx::Transform()); | 244 pass->SetNew(id, rect, rect, gfx::Transform(), FilterOperations(), |
| 245 FilterOperations()); |
241 | 246 |
242 CreateAndAppendTestSharedQuadState( | 247 CreateAndAppendTestSharedQuadState( |
243 pass.get(), gfx::Transform(), child_size); | 248 pass.get(), gfx::Transform(), child_size); |
244 | 249 |
245 SolidColorDrawQuad* top_color_quad = | 250 SolidColorDrawQuad* top_color_quad = |
246 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 251 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
247 bool force_anti_aliasing_off = false; | 252 bool force_anti_aliasing_off = false; |
248 top_color_quad->SetNew(pass->shared_quad_state_list.back(), | 253 top_color_quad->SetNew(pass->shared_quad_state_list.back(), |
249 gfx::Rect(quad_size), | 254 gfx::Rect(quad_size), |
250 gfx::Rect(quad_size), | 255 gfx::Rect(quad_size), |
(...skipping 12 matching lines...) Expand all Loading... |
263 child_frame.render_pass_list.push_back(std::move(pass)); | 268 child_frame.render_pass_list.push_back(std::move(pass)); |
264 | 269 |
265 factory_.SubmitCompositorFrame(left_child_local_id, std::move(child_frame), | 270 factory_.SubmitCompositorFrame(left_child_local_id, std::move(child_frame), |
266 SurfaceFactory::DrawCallback()); | 271 SurfaceFactory::DrawCallback()); |
267 } | 272 } |
268 | 273 |
269 { | 274 { |
270 gfx::Rect rect(child_size); | 275 gfx::Rect rect(child_size); |
271 RenderPassId id(1, 1); | 276 RenderPassId id(1, 1); |
272 std::unique_ptr<RenderPass> pass = RenderPass::Create(); | 277 std::unique_ptr<RenderPass> pass = RenderPass::Create(); |
273 pass->SetNew(id, rect, rect, gfx::Transform()); | 278 pass->SetNew(id, rect, rect, gfx::Transform(), FilterOperations(), |
| 279 FilterOperations()); |
274 | 280 |
275 CreateAndAppendTestSharedQuadState( | 281 CreateAndAppendTestSharedQuadState( |
276 pass.get(), gfx::Transform(), child_size); | 282 pass.get(), gfx::Transform(), child_size); |
277 | 283 |
278 SolidColorDrawQuad* top_color_quad = | 284 SolidColorDrawQuad* top_color_quad = |
279 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 285 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
280 bool force_anti_aliasing_off = false; | 286 bool force_anti_aliasing_off = false; |
281 top_color_quad->SetNew(pass->shared_quad_state_list.back(), | 287 top_color_quad->SetNew(pass->shared_quad_state_list.back(), |
282 gfx::Rect(quad_size), | 288 gfx::Rect(quad_size), |
283 gfx::Rect(quad_size), | 289 gfx::Rect(quad_size), |
(...skipping 28 matching lines...) Expand all Loading... |
312 | 318 |
313 factory_.Destroy(root_local_frame_id); | 319 factory_.Destroy(root_local_frame_id); |
314 factory_.Destroy(left_child_local_id); | 320 factory_.Destroy(left_child_local_id); |
315 factory_.Destroy(right_child_local_id); | 321 factory_.Destroy(right_child_local_id); |
316 } | 322 } |
317 | 323 |
318 } // namespace | 324 } // namespace |
319 } // namespace cc | 325 } // namespace cc |
320 | 326 |
321 #endif // !defined(OS_ANDROID) | 327 #endif // !defined(OS_ANDROID) |
OLD | NEW |