Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(314)

Side by Side Diff: cc/surfaces/surfaces_pixeltest.cc

Issue 368403003: Use RenderPass to create DrawQuad in unittests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@layerrawptrDQ
Patch Set: address review comments Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/surfaces/surface_aggregator_unittest.cc ('k') | cc/test/render_pass_test_common.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 // Draws a very simple frame with no surface references. 63 // Draws a very simple frame with no surface references.
64 TEST_F(SurfacesPixelTest, DrawSimpleFrame) { 64 TEST_F(SurfacesPixelTest, DrawSimpleFrame) {
65 gfx::Rect rect(device_viewport_size_); 65 gfx::Rect rect(device_viewport_size_);
66 RenderPass::Id id(1, 1); 66 RenderPass::Id id(1, 1);
67 scoped_ptr<RenderPass> pass = RenderPass::Create(); 67 scoped_ptr<RenderPass> pass = RenderPass::Create();
68 pass->SetNew(id, rect, rect, gfx::Transform()); 68 pass->SetNew(id, rect, rect, gfx::Transform());
69 69
70 CreateAndAppendTestSharedQuadState( 70 CreateAndAppendTestSharedQuadState(
71 pass.get(), gfx::Transform(), device_viewport_size_); 71 pass.get(), gfx::Transform(), device_viewport_size_);
72 72
73 scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create(); 73 SolidColorDrawQuad* color_quad =
74 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
74 bool force_anti_aliasing_off = false; 75 bool force_anti_aliasing_off = false;
75 color_quad->SetNew(pass->shared_quad_state_list.back(), 76 color_quad->SetNew(pass->shared_quad_state_list.back(),
76 rect, 77 rect,
77 rect, 78 rect,
78 SK_ColorGREEN, 79 SK_ColorGREEN,
79 force_anti_aliasing_off); 80 force_anti_aliasing_off);
80 pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
81 81
82 scoped_ptr<DelegatedFrameData> delegated_frame_data(new DelegatedFrameData); 82 scoped_ptr<DelegatedFrameData> delegated_frame_data(new DelegatedFrameData);
83 delegated_frame_data->render_pass_list.push_back(pass.Pass()); 83 delegated_frame_data->render_pass_list.push_back(pass.Pass());
84 84
85 scoped_ptr<CompositorFrame> root_frame(new CompositorFrame); 85 scoped_ptr<CompositorFrame> root_frame(new CompositorFrame);
86 root_frame->delegated_frame_data = delegated_frame_data.Pass(); 86 root_frame->delegated_frame_data = delegated_frame_data.Pass();
87 87
88 SurfaceId root_surface_id = allocator_.GenerateId(); 88 SurfaceId root_surface_id = allocator_.GenerateId();
89 factory_.Create(root_surface_id, device_viewport_size_); 89 factory_.Create(root_surface_id, device_viewport_size_);
90 factory_.SubmitFrame(root_surface_id, root_frame.Pass()); 90 factory_.SubmitFrame(root_surface_id, root_frame.Pass());
(...skipping 21 matching lines...) Expand all
112 factory_.Create(root_surface_id, device_viewport_size_); 112 factory_.Create(root_surface_id, device_viewport_size_);
113 { 113 {
114 gfx::Rect rect(device_viewport_size_); 114 gfx::Rect rect(device_viewport_size_);
115 RenderPass::Id id(1, 1); 115 RenderPass::Id id(1, 1);
116 scoped_ptr<RenderPass> pass = RenderPass::Create(); 116 scoped_ptr<RenderPass> pass = RenderPass::Create();
117 pass->SetNew(id, rect, rect, gfx::Transform()); 117 pass->SetNew(id, rect, rect, gfx::Transform());
118 118
119 CreateAndAppendTestSharedQuadState( 119 CreateAndAppendTestSharedQuadState(
120 pass.get(), gfx::Transform(), device_viewport_size_); 120 pass.get(), gfx::Transform(), device_viewport_size_);
121 121
122 scoped_ptr<SurfaceDrawQuad> surface_quad = SurfaceDrawQuad::Create(); 122 SurfaceDrawQuad* surface_quad =
123 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>();
123 surface_quad->SetNew(pass->shared_quad_state_list.back(), 124 surface_quad->SetNew(pass->shared_quad_state_list.back(),
124 gfx::Rect(child_size), 125 gfx::Rect(child_size),
125 gfx::Rect(child_size), 126 gfx::Rect(child_size),
126 child_surface_id); 127 child_surface_id);
127 pass->quad_list.push_back(surface_quad.PassAs<DrawQuad>());
128 128
129 scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create(); 129 SolidColorDrawQuad* color_quad =
130 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
130 bool force_anti_aliasing_off = false; 131 bool force_anti_aliasing_off = false;
131 color_quad->SetNew(pass->shared_quad_state_list.back(), 132 color_quad->SetNew(pass->shared_quad_state_list.back(),
132 rect, 133 rect,
133 rect, 134 rect,
134 SK_ColorYELLOW, 135 SK_ColorYELLOW,
135 force_anti_aliasing_off); 136 force_anti_aliasing_off);
136 pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
137 137
138 scoped_ptr<DelegatedFrameData> delegated_frame_data(new DelegatedFrameData); 138 scoped_ptr<DelegatedFrameData> delegated_frame_data(new DelegatedFrameData);
139 delegated_frame_data->render_pass_list.push_back(pass.Pass()); 139 delegated_frame_data->render_pass_list.push_back(pass.Pass());
140 140
141 scoped_ptr<CompositorFrame> root_frame(new CompositorFrame); 141 scoped_ptr<CompositorFrame> root_frame(new CompositorFrame);
142 root_frame->delegated_frame_data = delegated_frame_data.Pass(); 142 root_frame->delegated_frame_data = delegated_frame_data.Pass();
143 143
144 factory_.SubmitFrame(root_surface_id, root_frame.Pass()); 144 factory_.SubmitFrame(root_surface_id, root_frame.Pass());
145 } 145 }
146 146
147 { 147 {
148 gfx::Rect rect(child_size); 148 gfx::Rect rect(child_size);
149 RenderPass::Id id(1, 1); 149 RenderPass::Id id(1, 1);
150 scoped_ptr<RenderPass> pass = RenderPass::Create(); 150 scoped_ptr<RenderPass> pass = RenderPass::Create();
151 pass->SetNew(id, rect, rect, gfx::Transform()); 151 pass->SetNew(id, rect, rect, gfx::Transform());
152 152
153 CreateAndAppendTestSharedQuadState( 153 CreateAndAppendTestSharedQuadState(
154 pass.get(), gfx::Transform(), child_size); 154 pass.get(), gfx::Transform(), child_size);
155 155
156 scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create(); 156 SolidColorDrawQuad* color_quad =
157 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
157 bool force_anti_aliasing_off = false; 158 bool force_anti_aliasing_off = false;
158 color_quad->SetNew(pass->shared_quad_state_list.back(), 159 color_quad->SetNew(pass->shared_quad_state_list.back(),
159 rect, 160 rect,
160 rect, 161 rect,
161 SK_ColorBLUE, 162 SK_ColorBLUE,
162 force_anti_aliasing_off); 163 force_anti_aliasing_off);
163 pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
164 164
165 scoped_ptr<DelegatedFrameData> delegated_frame_data(new DelegatedFrameData); 165 scoped_ptr<DelegatedFrameData> delegated_frame_data(new DelegatedFrameData);
166 delegated_frame_data->render_pass_list.push_back(pass.Pass()); 166 delegated_frame_data->render_pass_list.push_back(pass.Pass());
167 167
168 scoped_ptr<CompositorFrame> child_frame(new CompositorFrame); 168 scoped_ptr<CompositorFrame> child_frame(new CompositorFrame);
169 child_frame->delegated_frame_data = delegated_frame_data.Pass(); 169 child_frame->delegated_frame_data = delegated_frame_data.Pass();
170 170
171 factory_.SubmitFrame(child_surface_id, child_frame.Pass()); 171 factory_.SubmitFrame(child_surface_id, child_frame.Pass());
172 } 172 }
173 173
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 { 207 {
208 gfx::Rect rect(device_viewport_size_); 208 gfx::Rect rect(device_viewport_size_);
209 RenderPass::Id id(1, 1); 209 RenderPass::Id id(1, 1);
210 scoped_ptr<RenderPass> pass = RenderPass::Create(); 210 scoped_ptr<RenderPass> pass = RenderPass::Create();
211 pass->SetNew(id, rect, rect, gfx::Transform()); 211 pass->SetNew(id, rect, rect, gfx::Transform());
212 212
213 gfx::Transform surface_transform; 213 gfx::Transform surface_transform;
214 CreateAndAppendTestSharedQuadState( 214 CreateAndAppendTestSharedQuadState(
215 pass.get(), surface_transform, device_viewport_size_); 215 pass.get(), surface_transform, device_viewport_size_);
216 216
217 scoped_ptr<SurfaceDrawQuad> left_surface_quad = SurfaceDrawQuad::Create(); 217 SurfaceDrawQuad* left_surface_quad =
218 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>();
218 left_surface_quad->SetNew(pass->shared_quad_state_list.back(), 219 left_surface_quad->SetNew(pass->shared_quad_state_list.back(),
219 gfx::Rect(child_size), 220 gfx::Rect(child_size),
220 gfx::Rect(child_size), 221 gfx::Rect(child_size),
221 left_child_id); 222 left_child_id);
222 pass->quad_list.push_back(left_surface_quad.PassAs<DrawQuad>());
223 223
224 surface_transform.Translate(100, 0); 224 surface_transform.Translate(100, 0);
225 CreateAndAppendTestSharedQuadState( 225 CreateAndAppendTestSharedQuadState(
226 pass.get(), surface_transform, device_viewport_size_); 226 pass.get(), surface_transform, device_viewport_size_);
227 227
228 scoped_ptr<SurfaceDrawQuad> right_surface_quad = SurfaceDrawQuad::Create(); 228 SurfaceDrawQuad* right_surface_quad =
229 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>();
229 right_surface_quad->SetNew(pass->shared_quad_state_list.back(), 230 right_surface_quad->SetNew(pass->shared_quad_state_list.back(),
230 gfx::Rect(child_size), 231 gfx::Rect(child_size),
231 gfx::Rect(child_size), 232 gfx::Rect(child_size),
232 right_child_id); 233 right_child_id);
233 pass->quad_list.push_back(right_surface_quad.PassAs<DrawQuad>());
234 234
235 scoped_ptr<DelegatedFrameData> delegated_frame_data(new DelegatedFrameData); 235 scoped_ptr<DelegatedFrameData> delegated_frame_data(new DelegatedFrameData);
236 delegated_frame_data->render_pass_list.push_back(pass.Pass()); 236 delegated_frame_data->render_pass_list.push_back(pass.Pass());
237 237
238 scoped_ptr<CompositorFrame> root_frame(new CompositorFrame); 238 scoped_ptr<CompositorFrame> root_frame(new CompositorFrame);
239 root_frame->delegated_frame_data = delegated_frame_data.Pass(); 239 root_frame->delegated_frame_data = delegated_frame_data.Pass();
240 240
241 factory_.SubmitFrame(root_surface_id, root_frame.Pass()); 241 factory_.SubmitFrame(root_surface_id, root_frame.Pass());
242 } 242 }
243 243
244 { 244 {
245 gfx::Rect rect(child_size); 245 gfx::Rect rect(child_size);
246 RenderPass::Id id(1, 1); 246 RenderPass::Id id(1, 1);
247 scoped_ptr<RenderPass> pass = RenderPass::Create(); 247 scoped_ptr<RenderPass> pass = RenderPass::Create();
248 pass->SetNew(id, rect, rect, gfx::Transform()); 248 pass->SetNew(id, rect, rect, gfx::Transform());
249 249
250 CreateAndAppendTestSharedQuadState( 250 CreateAndAppendTestSharedQuadState(
251 pass.get(), gfx::Transform(), child_size); 251 pass.get(), gfx::Transform(), child_size);
252 252
253 scoped_ptr<SolidColorDrawQuad> top_color_quad = 253 SolidColorDrawQuad* top_color_quad =
254 SolidColorDrawQuad::Create(); 254 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
255 bool force_anti_aliasing_off = false; 255 bool force_anti_aliasing_off = false;
256 top_color_quad->SetNew(pass->shared_quad_state_list.back(), 256 top_color_quad->SetNew(pass->shared_quad_state_list.back(),
257 gfx::Rect(quad_size), 257 gfx::Rect(quad_size),
258 gfx::Rect(quad_size), 258 gfx::Rect(quad_size),
259 SK_ColorGREEN, 259 SK_ColorGREEN,
260 force_anti_aliasing_off); 260 force_anti_aliasing_off);
261 pass->quad_list.push_back(top_color_quad.PassAs<DrawQuad>());
262 261
263 scoped_ptr<SolidColorDrawQuad> bottom_color_quad = 262 SolidColorDrawQuad* bottom_color_quad =
264 SolidColorDrawQuad::Create(); 263 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
265 bottom_color_quad->SetNew(pass->shared_quad_state_list.back(), 264 bottom_color_quad->SetNew(pass->shared_quad_state_list.back(),
266 gfx::Rect(0, 100, 100, 100), 265 gfx::Rect(0, 100, 100, 100),
267 gfx::Rect(0, 100, 100, 100), 266 gfx::Rect(0, 100, 100, 100),
268 SK_ColorBLUE, 267 SK_ColorBLUE,
269 force_anti_aliasing_off); 268 force_anti_aliasing_off);
270 pass->quad_list.push_back(bottom_color_quad.PassAs<DrawQuad>());
271 269
272 scoped_ptr<DelegatedFrameData> delegated_frame_data(new DelegatedFrameData); 270 scoped_ptr<DelegatedFrameData> delegated_frame_data(new DelegatedFrameData);
273 delegated_frame_data->render_pass_list.push_back(pass.Pass()); 271 delegated_frame_data->render_pass_list.push_back(pass.Pass());
274 272
275 scoped_ptr<CompositorFrame> child_frame(new CompositorFrame); 273 scoped_ptr<CompositorFrame> child_frame(new CompositorFrame);
276 child_frame->delegated_frame_data = delegated_frame_data.Pass(); 274 child_frame->delegated_frame_data = delegated_frame_data.Pass();
277 275
278 factory_.SubmitFrame(left_child_id, child_frame.Pass()); 276 factory_.SubmitFrame(left_child_id, child_frame.Pass());
279 } 277 }
280 278
281 { 279 {
282 gfx::Rect rect(child_size); 280 gfx::Rect rect(child_size);
283 RenderPass::Id id(1, 1); 281 RenderPass::Id id(1, 1);
284 scoped_ptr<RenderPass> pass = RenderPass::Create(); 282 scoped_ptr<RenderPass> pass = RenderPass::Create();
285 pass->SetNew(id, rect, rect, gfx::Transform()); 283 pass->SetNew(id, rect, rect, gfx::Transform());
286 284
287 CreateAndAppendTestSharedQuadState( 285 CreateAndAppendTestSharedQuadState(
288 pass.get(), gfx::Transform(), child_size); 286 pass.get(), gfx::Transform(), child_size);
289 287
290 scoped_ptr<SolidColorDrawQuad> top_color_quad = 288 SolidColorDrawQuad* top_color_quad =
291 SolidColorDrawQuad::Create(); 289 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
292 bool force_anti_aliasing_off = false; 290 bool force_anti_aliasing_off = false;
293 top_color_quad->SetNew(pass->shared_quad_state_list.back(), 291 top_color_quad->SetNew(pass->shared_quad_state_list.back(),
294 gfx::Rect(quad_size), 292 gfx::Rect(quad_size),
295 gfx::Rect(quad_size), 293 gfx::Rect(quad_size),
296 SK_ColorBLUE, 294 SK_ColorBLUE,
297 force_anti_aliasing_off); 295 force_anti_aliasing_off);
298 pass->quad_list.push_back(top_color_quad.PassAs<DrawQuad>());
299 296
300 scoped_ptr<SolidColorDrawQuad> bottom_color_quad = 297 SolidColorDrawQuad* bottom_color_quad =
301 SolidColorDrawQuad::Create(); 298 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
302 bottom_color_quad->SetNew(pass->shared_quad_state_list.back(), 299 bottom_color_quad->SetNew(pass->shared_quad_state_list.back(),
303 gfx::Rect(0, 100, 100, 100), 300 gfx::Rect(0, 100, 100, 100),
304 gfx::Rect(0, 100, 100, 100), 301 gfx::Rect(0, 100, 100, 100),
305 SK_ColorGREEN, 302 SK_ColorGREEN,
306 force_anti_aliasing_off); 303 force_anti_aliasing_off);
307 pass->quad_list.push_back(bottom_color_quad.PassAs<DrawQuad>());
308 304
309 scoped_ptr<DelegatedFrameData> delegated_frame_data(new DelegatedFrameData); 305 scoped_ptr<DelegatedFrameData> delegated_frame_data(new DelegatedFrameData);
310 delegated_frame_data->render_pass_list.push_back(pass.Pass()); 306 delegated_frame_data->render_pass_list.push_back(pass.Pass());
311 307
312 scoped_ptr<CompositorFrame> child_frame(new CompositorFrame); 308 scoped_ptr<CompositorFrame> child_frame(new CompositorFrame);
313 child_frame->delegated_frame_data = delegated_frame_data.Pass(); 309 child_frame->delegated_frame_data = delegated_frame_data.Pass();
314 310
315 factory_.SubmitFrame(right_child_id, child_frame.Pass()); 311 factory_.SubmitFrame(right_child_id, child_frame.Pass());
316 } 312 }
317 313
(...skipping 12 matching lines...) Expand all
330 326
331 factory_.Destroy(root_surface_id); 327 factory_.Destroy(root_surface_id);
332 factory_.Destroy(left_child_id); 328 factory_.Destroy(left_child_id);
333 factory_.Destroy(right_child_id); 329 factory_.Destroy(right_child_id);
334 } 330 }
335 331
336 } // namespace 332 } // namespace
337 } // namespace cc 333 } // namespace cc
338 334
339 #endif // !defined(OS_ANDROID) 335 #endif // !defined(OS_ANDROID)
OLDNEW
« no previous file with comments | « cc/surfaces/surface_aggregator_unittest.cc ('k') | cc/test/render_pass_test_common.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698