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

Side by Side Diff: cc/quads/draw_quad_unittest.cc

Issue 448133002: Remove unused RenderPassDrawQuad fields (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rpdqdamage: addmissingfile Created 6 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/quads/draw_quad.h" 5 #include "cc/quads/draw_quad.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
11 #include "cc/base/math_util.h" 11 #include "cc/base/math_util.h"
12 #include "cc/output/filter_operations.h" 12 #include "cc/output/filter_operations.h"
13 #include "cc/quads/checkerboard_draw_quad.h" 13 #include "cc/quads/checkerboard_draw_quad.h"
14 #include "cc/quads/debug_border_draw_quad.h" 14 #include "cc/quads/debug_border_draw_quad.h"
15 #include "cc/quads/io_surface_draw_quad.h" 15 #include "cc/quads/io_surface_draw_quad.h"
16 #include "cc/quads/largest_draw_quad.h"
16 #include "cc/quads/picture_draw_quad.h" 17 #include "cc/quads/picture_draw_quad.h"
17 #include "cc/quads/render_pass.h" 18 #include "cc/quads/render_pass.h"
18 #include "cc/quads/render_pass_draw_quad.h" 19 #include "cc/quads/render_pass_draw_quad.h"
19 #include "cc/quads/solid_color_draw_quad.h" 20 #include "cc/quads/solid_color_draw_quad.h"
20 #include "cc/quads/stream_video_draw_quad.h" 21 #include "cc/quads/stream_video_draw_quad.h"
21 #include "cc/quads/surface_draw_quad.h" 22 #include "cc/quads/surface_draw_quad.h"
22 #include "cc/quads/texture_draw_quad.h" 23 #include "cc/quads/texture_draw_quad.h"
23 #include "cc/quads/tile_draw_quad.h" 24 #include "cc/quads/tile_draw_quad.h"
24 #include "cc/quads/yuv_video_draw_quad.h" 25 #include "cc/quads/yuv_video_draw_quad.h"
25 #include "cc/resources/picture_pile_impl.h" 26 #include "cc/resources/picture_pile_impl.h"
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 quad_visible_rect, \ 220 quad_visible_rect, \
220 needs_blending, \ 221 needs_blending, \
221 a, \ 222 a, \
222 b, \ 223 b, \
223 c, \ 224 c, \
224 d, \ 225 d, \
225 e); \ 226 e); \
226 } \ 227 } \
227 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); 228 SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
228 229
229 #define CREATE_QUAD_5_NEW_RP(Type, a, b, c, d, e, copy_a) \
230 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
231 { QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e); } \
232 SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a);
233
234 #define CREATE_QUAD_5_ALL_RP(Type, a, b, c, d, e, copy_a) \
235 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
236 { \
237 QUAD_DATA quad_all->SetAll(shared_state, \
238 quad_rect, \
239 quad_opaque_rect, \
240 quad_visible_rect, \
241 needs_blending, \
242 a, \
243 b, \
244 c, \
245 d, \
246 e); \
247 } \
248 SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a);
249
250 #define CREATE_QUAD_6_NEW(Type, a, b, c, d, e, f) \ 230 #define CREATE_QUAD_6_NEW(Type, a, b, c, d, e, f) \
251 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ 231 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
252 { QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f); } \ 232 { QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f); } \
253 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); 233 SETUP_AND_COPY_QUAD_NEW(Type, quad_new);
254 234
255 #define CREATE_QUAD_6_ALL(Type, a, b, c, d, e, f) \ 235 #define CREATE_QUAD_6_ALL(Type, a, b, c, d, e, f) \
256 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ 236 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
257 { \ 237 { \
258 QUAD_DATA quad_all->SetAll(shared_state, \ 238 QUAD_DATA quad_all->SetAll(shared_state, \
259 quad_rect, \ 239 quad_rect, \
(...skipping 27 matching lines...) Expand all
287 a, \ 267 a, \
288 b, \ 268 b, \
289 c, \ 269 c, \
290 d, \ 270 d, \
291 e, \ 271 e, \
292 f, \ 272 f, \
293 g); \ 273 g); \
294 } \ 274 } \
295 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); 275 SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
296 276
297 #define CREATE_QUAD_7_NEW_RP(Type, a, b, c, d, e, f, g, copy_a) \
298 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
299 { \
300 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g); \
301 } \
302 SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a);
303
304 #define CREATE_QUAD_7_ALL_RP(Type, a, b, c, d, e, f, g, copy_a) \
305 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
306 { \
307 QUAD_DATA quad_all->SetAll(shared_state, \
308 quad_rect, \
309 quad_opaque_rect, \
310 quad_visible_rect, \
311 needs_blending, \
312 a, \
313 b, \
314 c, \
315 d, \
316 e, \
317 f, \
318 g); \
319 } \
320 SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a);
321
322 #define CREATE_QUAD_8_NEW(Type, a, b, c, d, e, f, g, h) \ 277 #define CREATE_QUAD_8_NEW(Type, a, b, c, d, e, f, g, h) \
323 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ 278 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
324 { \ 279 { \
325 QUAD_DATA quad_new->SetNew( \ 280 QUAD_DATA quad_new->SetNew( \
326 shared_state, quad_rect, a, b, c, d, e, f, g, h); \ 281 shared_state, quad_rect, a, b, c, d, e, f, g, h); \
327 } \ 282 } \
328 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); 283 SETUP_AND_COPY_QUAD_NEW(Type, quad_new);
329 284
330 #define CREATE_QUAD_8_ALL(Type, a, b, c, d, e, f, g, h) \ 285 #define CREATE_QUAD_8_ALL(Type, a, b, c, d, e, f, g, h) \
331 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ 286 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
332 { \ 287 { \
333 QUAD_DATA quad_all->SetAll(shared_state, \ 288 QUAD_DATA quad_all->SetAll(shared_state, \
334 quad_rect, \ 289 quad_rect, \
335 quad_opaque_rect, \ 290 quad_opaque_rect, \
336 quad_visible_rect, \ 291 quad_visible_rect, \
337 needs_blending, \ 292 needs_blending, \
338 a, \ 293 a, \
339 b, \ 294 b, \
340 c, \ 295 c, \
341 d, \ 296 d, \
342 e, \ 297 e, \
343 f, \ 298 f, \
344 g, \ 299 g, \
345 h); \ 300 h); \
346 } \ 301 } \
347 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); 302 SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
348 303
349 #define CREATE_QUAD_8_NEW_RP(Type, a, b, c, d, e, f, g, h, copy_a) \
350 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
351 { \
352 QUAD_DATA quad_new->SetNew( \
353 shared_state, quad_rect, a, b, c, d, e, f, g, h); \
354 } \
355 SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a);
356
357 #define CREATE_QUAD_8_ALL_RP(Type, a, b, c, d, e, f, g, h, copy_a) \
358 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
359 { \
360 QUAD_DATA quad_all->SetAll(shared_state, \
361 quad_rect, \
362 quad_opaque_rect, \
363 quad_visible_rect, \
364 needs_blending, \
365 a, \
366 b, \
367 c, \
368 d, \
369 e, \
370 f, \
371 g, \
372 h); \
373 } \
374 SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a);
375
376 #define CREATE_QUAD_9_NEW(Type, a, b, c, d, e, f, g, h, i) \ 304 #define CREATE_QUAD_9_NEW(Type, a, b, c, d, e, f, g, h, i) \
377 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ 305 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
378 { \ 306 { \
379 QUAD_DATA quad_new->SetNew( \ 307 QUAD_DATA quad_new->SetNew( \
380 shared_state, quad_rect, a, b, c, d, e, f, g, h, i); \ 308 shared_state, quad_rect, a, b, c, d, e, f, g, h, i); \
381 } \ 309 } \
382 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); 310 SETUP_AND_COPY_QUAD_NEW(Type, quad_new);
383 311
384 #define CREATE_QUAD_9_ALL(Type, a, b, c, d, e, f, g, h, i) \ 312 #define CREATE_QUAD_9_ALL(Type, a, b, c, d, e, f, g, h, i) \
385 { \ 313 { \
386 QUAD_DATA quad_all->SetAll(shared_state, \ 314 QUAD_DATA quad_all->SetAll(shared_state, \
387 quad_rect, \ 315 quad_rect, \
388 quad_opaque_rect, \ 316 quad_opaque_rect, \
389 quad_visible_rect, \ 317 quad_visible_rect, \
390 needs_blending, \ 318 needs_blending, \
391 a, \ 319 a, \
392 b, \ 320 b, \
393 c, \ 321 c, \
394 d, \ 322 d, \
395 e, \ 323 e, \
396 f, \ 324 f, \
397 g, \ 325 g, \
398 h, \ 326 h, \
399 i); \ 327 i); \
400 } \ 328 } \
401 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); 329 SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
402 330
331 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, copy_a) \
332 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
333 { \
334 QUAD_DATA quad_all->SetAll(shared_state, \
335 quad_rect, \
336 quad_opaque_rect, \
337 quad_visible_rect, \
338 needs_blending, \
339 a, \
340 b, \
341 c, \
342 d, \
343 e); \
344 } \
345 SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a);
346
347 #define CREATE_QUAD_NEW_RP(Type, a, b, c, d, e, f, copy_a) \
348 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
349 { QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f); } \
350 SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a);
351
403 TEST(DrawQuadTest, CopyCheckerboardDrawQuad) { 352 TEST(DrawQuadTest, CopyCheckerboardDrawQuad) {
404 gfx::Rect visible_rect(40, 50, 30, 20); 353 gfx::Rect visible_rect(40, 50, 30, 20);
405 SkColor color = 0xfabb0011; 354 SkColor color = 0xfabb0011;
406 CREATE_SHARED_STATE(); 355 CREATE_SHARED_STATE();
407 356
408 CREATE_QUAD_2_NEW(CheckerboardDrawQuad, visible_rect, color); 357 CREATE_QUAD_2_NEW(CheckerboardDrawQuad, visible_rect, color);
409 EXPECT_EQ(DrawQuad::CHECKERBOARD, copy_quad->material); 358 EXPECT_EQ(DrawQuad::CHECKERBOARD, copy_quad->material);
410 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); 359 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect);
411 EXPECT_EQ(color, copy_quad->color); 360 EXPECT_EQ(color, copy_quad->color);
412 361
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 CREATE_QUAD_3_ALL(IOSurfaceDrawQuad, size, resource_id, orientation); 406 CREATE_QUAD_3_ALL(IOSurfaceDrawQuad, size, resource_id, orientation);
458 EXPECT_EQ(DrawQuad::IO_SURFACE_CONTENT, copy_quad->material); 407 EXPECT_EQ(DrawQuad::IO_SURFACE_CONTENT, copy_quad->material);
459 EXPECT_EQ(size, copy_quad->io_surface_size); 408 EXPECT_EQ(size, copy_quad->io_surface_size);
460 EXPECT_EQ(resource_id, copy_quad->io_surface_resource_id); 409 EXPECT_EQ(resource_id, copy_quad->io_surface_resource_id);
461 EXPECT_EQ(orientation, copy_quad->orientation); 410 EXPECT_EQ(orientation, copy_quad->orientation);
462 } 411 }
463 412
464 TEST(DrawQuadTest, CopyRenderPassDrawQuad) { 413 TEST(DrawQuadTest, CopyRenderPassDrawQuad) {
465 gfx::Rect visible_rect(40, 50, 30, 20); 414 gfx::Rect visible_rect(40, 50, 30, 20);
466 RenderPass::Id render_pass_id(22, 64); 415 RenderPass::Id render_pass_id(22, 64);
467 bool is_replica = true;
468 ResourceProvider::ResourceId mask_resource_id = 78; 416 ResourceProvider::ResourceId mask_resource_id = 78;
469 gfx::Rect contents_changed_since_last_frame(42, 11, 74, 24);
470 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f); 417 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f);
471 FilterOperations filters; 418 FilterOperations filters;
472 filters.Append(FilterOperation::CreateBlurFilter(1.f)); 419 filters.Append(FilterOperation::CreateBlurFilter(1.f));
473 FilterOperations background_filters; 420 FilterOperations background_filters;
474 background_filters.Append( 421 background_filters.Append(
475 FilterOperation::CreateGrayscaleFilter(1.f)); 422 FilterOperation::CreateGrayscaleFilter(1.f));
476 423
477 RenderPass::Id copied_render_pass_id(235, 11); 424 RenderPass::Id copied_render_pass_id(235, 11);
478 CREATE_SHARED_STATE(); 425 CREATE_SHARED_STATE();
479 426
480 CREATE_QUAD_8_NEW_RP(RenderPassDrawQuad, 427 CREATE_QUAD_NEW_RP(RenderPassDrawQuad,
481 visible_rect, 428 visible_rect,
482 render_pass_id, 429 render_pass_id,
483 is_replica, 430 mask_resource_id,
484 mask_resource_id, 431 mask_u_v_rect,
485 contents_changed_since_last_frame, 432 filters,
486 mask_u_v_rect, 433 background_filters,
487 filters, 434 copied_render_pass_id);
488 background_filters,
489 copied_render_pass_id);
490 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); 435 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material);
491 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); 436 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect);
492 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); 437 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id);
493 EXPECT_EQ(is_replica, copy_quad->is_replica);
494 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id); 438 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id);
495 EXPECT_RECT_EQ(contents_changed_since_last_frame,
496 copy_quad->contents_changed_since_last_frame);
497 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString()); 439 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString());
498 EXPECT_EQ(filters, copy_quad->filters); 440 EXPECT_EQ(filters, copy_quad->filters);
499 EXPECT_EQ(background_filters, copy_quad->background_filters); 441 EXPECT_EQ(background_filters, copy_quad->background_filters);
500 442
501 CREATE_QUAD_7_ALL_RP(RenderPassDrawQuad, 443 CREATE_QUAD_ALL_RP(RenderPassDrawQuad,
502 render_pass_id, 444 render_pass_id,
503 is_replica, 445 mask_resource_id,
504 mask_resource_id, 446 mask_u_v_rect,
505 contents_changed_since_last_frame, 447 filters,
506 mask_u_v_rect, 448 background_filters,
507 filters, 449 copied_render_pass_id);
508 background_filters,
509 copied_render_pass_id);
510 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); 450 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material);
511 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); 451 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id);
512 EXPECT_EQ(is_replica, copy_quad->is_replica);
513 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id); 452 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id);
514 EXPECT_RECT_EQ(contents_changed_since_last_frame,
515 copy_quad->contents_changed_since_last_frame);
516 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString()); 453 EXPECT_EQ(mask_u_v_rect.ToString(), copy_quad->mask_uv_rect.ToString());
517 EXPECT_EQ(filters, copy_quad->filters); 454 EXPECT_EQ(filters, copy_quad->filters);
518 EXPECT_EQ(background_filters, copy_quad->background_filters); 455 EXPECT_EQ(background_filters, copy_quad->background_filters);
519 } 456 }
520 457
521 TEST(DrawQuadTest, CopySolidColorDrawQuad) { 458 TEST(DrawQuadTest, CopySolidColorDrawQuad) {
522 gfx::Rect visible_rect(40, 50, 30, 20); 459 gfx::Rect visible_rect(40, 50, 30, 20);
523 SkColor color = 0x49494949; 460 SkColor color = 0x49494949;
524 bool force_anti_aliasing_off = false; 461 bool force_anti_aliasing_off = false;
525 CREATE_SHARED_STATE(); 462 CREATE_SHARED_STATE();
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
803 resource_id, 740 resource_id,
804 orientation); 741 orientation);
805 EXPECT_EQ(resource_id, quad_new->io_surface_resource_id); 742 EXPECT_EQ(resource_id, quad_new->io_surface_resource_id);
806 EXPECT_EQ(1, IterateAndCount(quad_new)); 743 EXPECT_EQ(1, IterateAndCount(quad_new));
807 EXPECT_EQ(resource_id + 1, quad_new->io_surface_resource_id); 744 EXPECT_EQ(resource_id + 1, quad_new->io_surface_resource_id);
808 } 745 }
809 746
810 TEST_F(DrawQuadIteratorTest, RenderPassDrawQuad) { 747 TEST_F(DrawQuadIteratorTest, RenderPassDrawQuad) {
811 gfx::Rect visible_rect(40, 50, 30, 20); 748 gfx::Rect visible_rect(40, 50, 30, 20);
812 RenderPass::Id render_pass_id(22, 64); 749 RenderPass::Id render_pass_id(22, 64);
813 bool is_replica = true;
814 ResourceProvider::ResourceId mask_resource_id = 78; 750 ResourceProvider::ResourceId mask_resource_id = 78;
815 gfx::Rect contents_changed_since_last_frame(42, 11, 74, 24);
816 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f); 751 gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f);
817 FilterOperations filters; 752 FilterOperations filters;
818 filters.Append(FilterOperation::CreateBlurFilter(1.f)); 753 filters.Append(FilterOperation::CreateBlurFilter(1.f));
819 FilterOperations background_filters; 754 FilterOperations background_filters;
820 background_filters.Append( 755 background_filters.Append(
821 FilterOperation::CreateGrayscaleFilter(1.f)); 756 FilterOperation::CreateGrayscaleFilter(1.f));
822 757
823 RenderPass::Id copied_render_pass_id(235, 11); 758 RenderPass::Id copied_render_pass_id(235, 11);
824 759
825 CREATE_SHARED_STATE(); 760 CREATE_SHARED_STATE();
826 CREATE_QUAD_8_NEW_RP(RenderPassDrawQuad, 761 CREATE_QUAD_NEW_RP(RenderPassDrawQuad,
827 visible_rect, 762 visible_rect,
828 render_pass_id, 763 render_pass_id,
829 is_replica, 764 mask_resource_id,
830 mask_resource_id, 765 mask_u_v_rect,
831 contents_changed_since_last_frame, 766 filters,
832 mask_u_v_rect, 767 background_filters,
833 filters, 768 copied_render_pass_id);
834 background_filters,
835 copied_render_pass_id);
836 EXPECT_EQ(mask_resource_id, quad_new->mask_resource_id); 769 EXPECT_EQ(mask_resource_id, quad_new->mask_resource_id);
837 EXPECT_EQ(1, IterateAndCount(quad_new)); 770 EXPECT_EQ(1, IterateAndCount(quad_new));
838 EXPECT_EQ(mask_resource_id + 1, quad_new->mask_resource_id); 771 EXPECT_EQ(mask_resource_id + 1, quad_new->mask_resource_id);
839 quad_new->mask_resource_id = 0; 772 quad_new->mask_resource_id = 0;
840 EXPECT_EQ(0, IterateAndCount(quad_new)); 773 EXPECT_EQ(0, IterateAndCount(quad_new));
841 EXPECT_EQ(0u, quad_new->mask_resource_id); 774 EXPECT_EQ(0u, quad_new->mask_resource_id);
842 } 775 }
843 776
844 TEST_F(DrawQuadIteratorTest, SolidColorDrawQuad) { 777 TEST_F(DrawQuadIteratorTest, SolidColorDrawQuad) {
845 gfx::Rect visible_rect(40, 50, 30, 20); 778 gfx::Rect visible_rect(40, 50, 30, 20);
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
972 visible_rect, 905 visible_rect,
973 tex_coord_rect, 906 tex_coord_rect,
974 texture_size, 907 texture_size,
975 texture_format, 908 texture_format,
976 content_rect, 909 content_rect,
977 contents_scale, 910 contents_scale,
978 picture_pile); 911 picture_pile);
979 EXPECT_EQ(0, IterateAndCount(quad_new)); 912 EXPECT_EQ(0, IterateAndCount(quad_new));
980 } 913 }
981 914
915 TEST(DrawQuadTest, LargestQuadType) {
916 size_t largest = 0;
917
918 for (int i = 0; i <= DrawQuad::MATERIAL_LAST; ++i) {
919 switch (static_cast<DrawQuad::Material>(i)) {
920 case DrawQuad::CHECKERBOARD:
921 largest = std::max(largest, sizeof(CheckerboardDrawQuad));
922 break;
923 case DrawQuad::DEBUG_BORDER:
924 largest = std::max(largest, sizeof(DebugBorderDrawQuad));
925 break;
926 case DrawQuad::IO_SURFACE_CONTENT:
927 largest = std::max(largest, sizeof(IOSurfaceDrawQuad));
928 break;
929 case DrawQuad::PICTURE_CONTENT:
930 largest = std::max(largest, sizeof(PictureDrawQuad));
931 break;
932 case DrawQuad::TEXTURE_CONTENT:
933 largest = std::max(largest, sizeof(TextureDrawQuad));
934 break;
935 case DrawQuad::RENDER_PASS:
936 largest = std::max(largest, sizeof(RenderPassDrawQuad));
937 break;
938 case DrawQuad::SOLID_COLOR:
939 largest = std::max(largest, sizeof(SolidColorDrawQuad));
940 break;
941 case DrawQuad::SURFACE_CONTENT:
942 largest = std::max(largest, sizeof(SurfaceDrawQuad));
943 break;
944 case DrawQuad::TILED_CONTENT:
945 largest = std::max(largest, sizeof(TileDrawQuad));
946 break;
947 case DrawQuad::STREAM_VIDEO_CONTENT:
948 largest = std::max(largest, sizeof(StreamVideoDrawQuad));
949 break;
950 case DrawQuad::YUV_VIDEO_CONTENT:
951 largest = std::max(largest, sizeof(YUVVideoDrawQuad));
952 break;
953 case DrawQuad::INVALID:
954 break;
955 }
956 }
957
958 // Verify the largest DrawQuad type is RenderPassDrawQuad. If this ever
959 // changes, then the ReserveSizeForRenderPassWrite() method needs to be
960 // updated as well to use the new largest quad.
961 EXPECT_EQ(sizeof(kLargestDrawQuad), largest);
962 }
963
982 } // namespace 964 } // namespace
983 } // namespace cc 965 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698