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

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

Issue 2543473004: cc: Move filters from RenderPassDrawQuad to RenderPass (Closed)
Patch Set: Address review comments Created 4 years 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
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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); 388 SETUP_AND_COPY_QUAD_NEW(Type, quad_new);
389 389
390 #define CREATE_QUAD_15_NEW(Type, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) \ 390 #define CREATE_QUAD_15_NEW(Type, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) \
391 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ 391 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
392 { \ 392 { \
393 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g, \ 393 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g, \
394 h, i, j, k, l, m, n, o); \ 394 h, i, j, k, l, m, n, o); \
395 } \ 395 } \
396 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); 396 SETUP_AND_COPY_QUAD_NEW(Type, quad_new);
397 397
398 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, g, h, copy_a) \ 398 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, copy_a) \
399 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ 399 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
400 { \ 400 { \
401 QUAD_DATA quad_all->SetAll(shared_state, quad_rect, quad_opaque_rect, \ 401 QUAD_DATA quad_all->SetAll(shared_state, quad_rect, quad_opaque_rect, \
402 quad_visible_rect, needs_blending, a, b, c, d, \ 402 quad_visible_rect, needs_blending, a, b, c, d, \
403 e, f, g, h); \ 403 e, f); \
404 } \ 404 } \
405 SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a); 405 SETUP_AND_COPY_QUAD_ALL_RP(Type, quad_all, copy_a);
406 406
407 #define CREATE_QUAD_NEW_RP(Type, a, b, c, d, e, f, g, h, i, copy_a) \ 407 #define CREATE_QUAD_NEW_RP(Type, a, b, c, d, e, f, g, copy_a) \
408 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ 408 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
409 { \ 409 { \
410 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g, \ 410 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g); \
411 h, i); \ 411 } \
412 } \
413 SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a); 412 SETUP_AND_COPY_QUAD_NEW_RP(Type, quad_new, copy_a);
414 413
415 TEST(DrawQuadTest, CopyDebugBorderDrawQuad) { 414 TEST(DrawQuadTest, CopyDebugBorderDrawQuad) {
416 gfx::Rect visible_rect(40, 50, 30, 20); 415 gfx::Rect visible_rect(40, 50, 30, 20);
417 SkColor color = 0xfabb0011; 416 SkColor color = 0xfabb0011;
418 int width = 99; 417 int width = 99;
419 CREATE_SHARED_STATE(); 418 CREATE_SHARED_STATE();
420 419
421 CREATE_QUAD_3_NEW(DebugBorderDrawQuad, visible_rect, color, width); 420 CREATE_QUAD_3_NEW(DebugBorderDrawQuad, visible_rect, color, width);
422 EXPECT_EQ(DrawQuad::DEBUG_BORDER, copy_quad->material); 421 EXPECT_EQ(DrawQuad::DEBUG_BORDER, copy_quad->material);
423 EXPECT_EQ(visible_rect, copy_quad->visible_rect); 422 EXPECT_EQ(visible_rect, copy_quad->visible_rect);
424 EXPECT_EQ(color, copy_quad->color); 423 EXPECT_EQ(color, copy_quad->color);
425 EXPECT_EQ(width, copy_quad->width); 424 EXPECT_EQ(width, copy_quad->width);
426 425
427 CREATE_QUAD_2_ALL(DebugBorderDrawQuad, color, width); 426 CREATE_QUAD_2_ALL(DebugBorderDrawQuad, color, width);
428 EXPECT_EQ(DrawQuad::DEBUG_BORDER, copy_quad->material); 427 EXPECT_EQ(DrawQuad::DEBUG_BORDER, copy_quad->material);
429 EXPECT_EQ(color, copy_quad->color); 428 EXPECT_EQ(color, copy_quad->color);
430 EXPECT_EQ(width, copy_quad->width); 429 EXPECT_EQ(width, copy_quad->width);
431 } 430 }
432 431
433 TEST(DrawQuadTest, CopyRenderPassDrawQuad) { 432 TEST(DrawQuadTest, CopyRenderPassDrawQuad) {
434 gfx::Rect visible_rect(40, 50, 30, 20); 433 gfx::Rect visible_rect(40, 50, 30, 20);
435 RenderPassId render_pass_id(22, 64); 434 RenderPassId render_pass_id(22, 64);
436 ResourceId mask_resource_id = 78; 435 ResourceId mask_resource_id = 78;
437 gfx::Vector2dF mask_uv_scale(33.f, 19.f); 436 gfx::Vector2dF mask_uv_scale(33.f, 19.f);
438 gfx::Size mask_texture_size(128, 134); 437 gfx::Size mask_texture_size(128, 134);
439 FilterOperations filters;
440 filters.Append(FilterOperation::CreateBlurFilter(1.f));
441 gfx::Vector2dF filters_scale; 438 gfx::Vector2dF filters_scale;
442 gfx::PointF filters_origin; 439 gfx::PointF filters_origin;
443 FilterOperations background_filters;
444 background_filters.Append(
445 FilterOperation::CreateGrayscaleFilter(1.f));
446 440
447 RenderPassId copied_render_pass_id(235, 11); 441 RenderPassId copied_render_pass_id(235, 11);
448 CREATE_SHARED_STATE(); 442 CREATE_SHARED_STATE();
449 443
450 CREATE_QUAD_NEW_RP(RenderPassDrawQuad, visible_rect, render_pass_id, 444 CREATE_QUAD_NEW_RP(RenderPassDrawQuad, visible_rect, render_pass_id,
451 mask_resource_id, mask_uv_scale, mask_texture_size, 445 mask_resource_id, mask_uv_scale, mask_texture_size,
452 filters, filters_scale, filters_origin, background_filters, 446 filters_scale, filters_origin, copied_render_pass_id);
453 copied_render_pass_id);
454 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); 447 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material);
455 EXPECT_EQ(visible_rect, copy_quad->visible_rect); 448 EXPECT_EQ(visible_rect, copy_quad->visible_rect);
456 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); 449 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id);
457 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id()); 450 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id());
458 EXPECT_EQ(mask_uv_scale.ToString(), copy_quad->mask_uv_scale.ToString()); 451 EXPECT_EQ(mask_uv_scale.ToString(), copy_quad->mask_uv_scale.ToString());
459 EXPECT_EQ(mask_texture_size.ToString(), 452 EXPECT_EQ(mask_texture_size.ToString(),
460 copy_quad->mask_texture_size.ToString()); 453 copy_quad->mask_texture_size.ToString());
461 EXPECT_EQ(filters, copy_quad->filters);
462 EXPECT_EQ(filters_scale, copy_quad->filters_scale); 454 EXPECT_EQ(filters_scale, copy_quad->filters_scale);
463 EXPECT_EQ(filters_origin, copy_quad->filters_origin); 455 EXPECT_EQ(filters_origin, copy_quad->filters_origin);
464 EXPECT_EQ(background_filters, copy_quad->background_filters);
465 456
466 CREATE_QUAD_ALL_RP(RenderPassDrawQuad, render_pass_id, mask_resource_id, 457 CREATE_QUAD_ALL_RP(RenderPassDrawQuad, render_pass_id, mask_resource_id,
467 mask_uv_scale, mask_texture_size, filters, filters_scale, 458 mask_uv_scale, mask_texture_size, filters_scale,
468 filters_origin, background_filters, copied_render_pass_id); 459 filters_origin, copied_render_pass_id);
469 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material); 460 EXPECT_EQ(DrawQuad::RENDER_PASS, copy_quad->material);
470 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id); 461 EXPECT_EQ(copied_render_pass_id, copy_quad->render_pass_id);
471 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id()); 462 EXPECT_EQ(mask_resource_id, copy_quad->mask_resource_id());
472 EXPECT_EQ(mask_uv_scale.ToString(), copy_quad->mask_uv_scale.ToString()); 463 EXPECT_EQ(mask_uv_scale.ToString(), copy_quad->mask_uv_scale.ToString());
473 EXPECT_EQ(mask_texture_size.ToString(), 464 EXPECT_EQ(mask_texture_size.ToString(),
474 copy_quad->mask_texture_size.ToString()); 465 copy_quad->mask_texture_size.ToString());
475 EXPECT_EQ(filters, copy_quad->filters);
476 EXPECT_EQ(filters_scale, copy_quad->filters_scale); 466 EXPECT_EQ(filters_scale, copy_quad->filters_scale);
477 EXPECT_EQ(filters_origin, copy_quad->filters_origin); 467 EXPECT_EQ(filters_origin, copy_quad->filters_origin);
478 EXPECT_EQ(background_filters, copy_quad->background_filters);
479 } 468 }
480 469
481 TEST(DrawQuadTest, CopySolidColorDrawQuad) { 470 TEST(DrawQuadTest, CopySolidColorDrawQuad) {
482 gfx::Rect visible_rect(40, 50, 30, 20); 471 gfx::Rect visible_rect(40, 50, 30, 20);
483 SkColor color = 0x49494949; 472 SkColor color = 0x49494949;
484 bool force_anti_aliasing_off = false; 473 bool force_anti_aliasing_off = false;
485 CREATE_SHARED_STATE(); 474 CREATE_SHARED_STATE();
486 475
487 CREATE_QUAD_3_NEW( 476 CREATE_QUAD_3_NEW(
488 SolidColorDrawQuad, visible_rect, color, force_anti_aliasing_off); 477 SolidColorDrawQuad, visible_rect, color, force_anti_aliasing_off);
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
750 CREATE_QUAD_3_NEW(DebugBorderDrawQuad, visible_rect, color, width); 739 CREATE_QUAD_3_NEW(DebugBorderDrawQuad, visible_rect, color, width);
751 EXPECT_EQ(0, IterateAndCount(quad_new)); 740 EXPECT_EQ(0, IterateAndCount(quad_new));
752 } 741 }
753 742
754 TEST_F(DrawQuadIteratorTest, RenderPassDrawQuad) { 743 TEST_F(DrawQuadIteratorTest, RenderPassDrawQuad) {
755 gfx::Rect visible_rect(40, 50, 30, 20); 744 gfx::Rect visible_rect(40, 50, 30, 20);
756 RenderPassId render_pass_id(22, 64); 745 RenderPassId render_pass_id(22, 64);
757 ResourceId mask_resource_id = 78; 746 ResourceId mask_resource_id = 78;
758 gfx::Vector2dF mask_uv_scale(33.f, 19.f); 747 gfx::Vector2dF mask_uv_scale(33.f, 19.f);
759 gfx::Size mask_texture_size(128, 134); 748 gfx::Size mask_texture_size(128, 134);
760 FilterOperations filters;
761 filters.Append(FilterOperation::CreateBlurFilter(1.f));
762 gfx::Vector2dF filters_scale(2.f, 3.f); 749 gfx::Vector2dF filters_scale(2.f, 3.f);
763 gfx::PointF filters_origin(0.f, 0.f); 750 gfx::PointF filters_origin(0.f, 0.f);
764 FilterOperations background_filters;
765 background_filters.Append(
766 FilterOperation::CreateGrayscaleFilter(1.f));
767 751
768 RenderPassId copied_render_pass_id(235, 11); 752 RenderPassId copied_render_pass_id(235, 11);
769 753
770 CREATE_SHARED_STATE(); 754 CREATE_SHARED_STATE();
771 CREATE_QUAD_NEW_RP(RenderPassDrawQuad, visible_rect, render_pass_id, 755 CREATE_QUAD_NEW_RP(RenderPassDrawQuad, visible_rect, render_pass_id,
772 mask_resource_id, mask_uv_scale, mask_texture_size, 756 mask_resource_id, mask_uv_scale, mask_texture_size,
773 filters, filters_scale, filters_origin, background_filters, 757 filters_scale, filters_origin, copied_render_pass_id);
774 copied_render_pass_id);
775 EXPECT_EQ(mask_resource_id, quad_new->mask_resource_id()); 758 EXPECT_EQ(mask_resource_id, quad_new->mask_resource_id());
776 EXPECT_EQ(1, IterateAndCount(quad_new)); 759 EXPECT_EQ(1, IterateAndCount(quad_new));
777 EXPECT_EQ(mask_resource_id + 1, quad_new->mask_resource_id()); 760 EXPECT_EQ(mask_resource_id + 1, quad_new->mask_resource_id());
778 761
779 ResourceId new_mask_resource_id = 0; 762 ResourceId new_mask_resource_id = 0;
780 gfx::Rect quad_rect(30, 40, 50, 60); 763 gfx::Rect quad_rect(30, 40, 50, 60);
781 quad_new->SetNew(shared_state, quad_rect, visible_rect, render_pass_id, 764 quad_new->SetNew(shared_state, quad_rect, visible_rect, render_pass_id,
782 new_mask_resource_id, mask_uv_scale, mask_texture_size, 765 new_mask_resource_id, mask_uv_scale, mask_texture_size,
783 filters, filters_scale, filters_origin, background_filters); 766 filters_scale, filters_origin);
784 EXPECT_EQ(0, IterateAndCount(quad_new)); 767 EXPECT_EQ(0, IterateAndCount(quad_new));
785 EXPECT_EQ(0u, quad_new->mask_resource_id()); 768 EXPECT_EQ(0u, quad_new->mask_resource_id());
786 } 769 }
787 770
788 TEST_F(DrawQuadIteratorTest, SolidColorDrawQuad) { 771 TEST_F(DrawQuadIteratorTest, SolidColorDrawQuad) {
789 gfx::Rect visible_rect(40, 50, 30, 20); 772 gfx::Rect visible_rect(40, 50, 30, 20);
790 SkColor color = 0x49494949; 773 SkColor color = 0x49494949;
791 bool force_anti_aliasing_off = false; 774 bool force_anti_aliasing_off = false;
792 775
793 CREATE_SHARED_STATE(); 776 CREATE_SHARED_STATE();
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
994 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad); 977 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad);
995 break; 978 break;
996 case DrawQuad::INVALID: 979 case DrawQuad::INVALID:
997 break; 980 break;
998 } 981 }
999 } 982 }
1000 } 983 }
1001 984
1002 } // namespace 985 } // namespace
1003 } // namespace cc 986 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698