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

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

Issue 1142343008: cc: Rework overlays to not use the ResourceProvider and pass texture size (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix more tests Created 5 years, 6 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
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"
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); 323 SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
324 324
325 #define CREATE_QUAD_10_NEW(Type, a, b, c, d, e, f, g, h, i, j) \ 325 #define CREATE_QUAD_10_NEW(Type, a, b, c, d, e, f, g, h, i, j) \
326 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ 326 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
327 { \ 327 { \
328 QUAD_DATA quad_new->SetNew( \ 328 QUAD_DATA quad_new->SetNew( \
329 shared_state, quad_rect, a, b, c, d, e, f, g, h, i, j); \ 329 shared_state, quad_rect, a, b, c, d, e, f, g, h, i, j); \
330 } \ 330 } \
331 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); 331 SETUP_AND_COPY_QUAD_NEW(Type, quad_new);
332 332
333 #define CREATE_QUAD_10_ALL(Type, a, b, c, d, e, f, g, h, i, j) \
334 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
335 { \
336 QUAD_DATA quad_all->SetAll(shared_state, quad_rect, quad_opaque_rect, \
337 quad_visible_rect, needs_blending, a, b, c, d, \
338 e, f, g, h, i, j); \
339 } \
340 SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
341
333 #define CREATE_QUAD_11_NEW(Type, a, b, c, d, e, f, g, h, i, j, k) \ 342 #define CREATE_QUAD_11_NEW(Type, a, b, c, d, e, f, g, h, i, j, k) \
334 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ 343 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
335 { \ 344 { \
336 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g, \ 345 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g, \
337 h, i, j, k); \ 346 h, i, j, k); \
338 } \ 347 } \
339 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); 348 SETUP_AND_COPY_QUAD_NEW(Type, quad_new);
340 349
341 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, g, copy_a) \ 350 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, g, copy_a) \
342 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ 351 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 CREATE_QUAD_2_ALL(SolidColorDrawQuad, color, force_anti_aliasing_off); 510 CREATE_QUAD_2_ALL(SolidColorDrawQuad, color, force_anti_aliasing_off);
502 EXPECT_EQ(DrawQuad::SOLID_COLOR, copy_quad->material); 511 EXPECT_EQ(DrawQuad::SOLID_COLOR, copy_quad->material);
503 EXPECT_EQ(color, copy_quad->color); 512 EXPECT_EQ(color, copy_quad->color);
504 EXPECT_EQ(force_anti_aliasing_off, copy_quad->force_anti_aliasing_off); 513 EXPECT_EQ(force_anti_aliasing_off, copy_quad->force_anti_aliasing_off);
505 } 514 }
506 515
507 TEST(DrawQuadTest, CopyStreamVideoDrawQuad) { 516 TEST(DrawQuadTest, CopyStreamVideoDrawQuad) {
508 gfx::Rect opaque_rect(33, 47, 10, 12); 517 gfx::Rect opaque_rect(33, 47, 10, 12);
509 gfx::Rect visible_rect(40, 50, 30, 20); 518 gfx::Rect visible_rect(40, 50, 30, 20);
510 ResourceId resource_id = 64; 519 ResourceId resource_id = 64;
520 gfx::Size resource_size_in_pixels = gfx::Size(40, 41);
521 bool allow_overlay = true;
511 gfx::Transform matrix = gfx::Transform(0.5, 0.25, 1, 0.75, 0, 1); 522 gfx::Transform matrix = gfx::Transform(0.5, 0.25, 1, 0.75, 0, 1);
512 CREATE_SHARED_STATE(); 523 CREATE_SHARED_STATE();
513 524
514 CREATE_QUAD_4_NEW( 525 CREATE_QUAD_6_NEW(StreamVideoDrawQuad, opaque_rect, visible_rect, resource_id,
515 StreamVideoDrawQuad, opaque_rect, visible_rect, resource_id, matrix); 526 resource_size_in_pixels, allow_overlay, matrix);
516 EXPECT_EQ(DrawQuad::STREAM_VIDEO_CONTENT, copy_quad->material); 527 EXPECT_EQ(DrawQuad::STREAM_VIDEO_CONTENT, copy_quad->material);
517 EXPECT_EQ(visible_rect, copy_quad->visible_rect); 528 EXPECT_EQ(visible_rect, copy_quad->visible_rect);
518 EXPECT_EQ(opaque_rect, copy_quad->opaque_rect); 529 EXPECT_EQ(opaque_rect, copy_quad->opaque_rect);
519 EXPECT_EQ(resource_id, copy_quad->resource_id()); 530 EXPECT_EQ(resource_id, copy_quad->resource_id());
531 EXPECT_EQ(allow_overlay, copy_quad->allow_overlay());
532 EXPECT_EQ(resource_size_in_pixels, copy_quad->resource_size_in_pixels());
520 EXPECT_EQ(matrix, copy_quad->matrix); 533 EXPECT_EQ(matrix, copy_quad->matrix);
521 534
522 CREATE_QUAD_2_ALL(StreamVideoDrawQuad, resource_id, matrix); 535 CREATE_QUAD_4_ALL(StreamVideoDrawQuad, resource_id, resource_size_in_pixels,
536 allow_overlay, matrix);
523 EXPECT_EQ(DrawQuad::STREAM_VIDEO_CONTENT, copy_quad->material); 537 EXPECT_EQ(DrawQuad::STREAM_VIDEO_CONTENT, copy_quad->material);
524 EXPECT_EQ(resource_id, copy_quad->resource_id()); 538 EXPECT_EQ(resource_id, copy_quad->resource_id());
539 EXPECT_EQ(allow_overlay, copy_quad->allow_overlay());
540 EXPECT_EQ(resource_size_in_pixels, copy_quad->resource_size_in_pixels());
525 EXPECT_EQ(matrix, copy_quad->matrix); 541 EXPECT_EQ(matrix, copy_quad->matrix);
526 } 542 }
527 543
528 TEST(DrawQuadTest, CopySurfaceDrawQuad) { 544 TEST(DrawQuadTest, CopySurfaceDrawQuad) {
529 gfx::Rect visible_rect(40, 50, 30, 20); 545 gfx::Rect visible_rect(40, 50, 30, 20);
530 SurfaceId surface_id(1234); 546 SurfaceId surface_id(1234);
531 CREATE_SHARED_STATE(); 547 CREATE_SHARED_STATE();
532 548
533 CREATE_QUAD_2_NEW(SurfaceDrawQuad, visible_rect, surface_id); 549 CREATE_QUAD_2_NEW(SurfaceDrawQuad, visible_rect, surface_id);
534 EXPECT_EQ(DrawQuad::SURFACE_CONTENT, copy_quad->material); 550 EXPECT_EQ(DrawQuad::SURFACE_CONTENT, copy_quad->material);
535 EXPECT_EQ(visible_rect, copy_quad->visible_rect); 551 EXPECT_EQ(visible_rect, copy_quad->visible_rect);
536 EXPECT_EQ(surface_id, copy_quad->surface_id); 552 EXPECT_EQ(surface_id, copy_quad->surface_id);
537 553
538 CREATE_QUAD_1_ALL(SurfaceDrawQuad, surface_id); 554 CREATE_QUAD_1_ALL(SurfaceDrawQuad, surface_id);
539 EXPECT_EQ(DrawQuad::SURFACE_CONTENT, copy_quad->material); 555 EXPECT_EQ(DrawQuad::SURFACE_CONTENT, copy_quad->material);
540 EXPECT_EQ(surface_id, copy_quad->surface_id); 556 EXPECT_EQ(surface_id, copy_quad->surface_id);
541 } 557 }
542 558
543 559
544 TEST(DrawQuadTest, CopyTextureDrawQuad) { 560 TEST(DrawQuadTest, CopyTextureDrawQuad) {
545 gfx::Rect opaque_rect(33, 47, 10, 12); 561 gfx::Rect opaque_rect(33, 47, 10, 12);
546 gfx::Rect visible_rect(40, 50, 30, 20); 562 gfx::Rect visible_rect(40, 50, 30, 20);
547 unsigned resource_id = 82; 563 unsigned resource_id = 82;
564 gfx::Size resource_size_in_pixels = gfx::Size(40, 41);
565 bool allow_overlay = true;
548 bool premultiplied_alpha = true; 566 bool premultiplied_alpha = true;
549 gfx::PointF uv_top_left(0.5f, 224.f); 567 gfx::PointF uv_top_left(0.5f, 224.f);
550 gfx::PointF uv_bottom_right(51.5f, 260.f); 568 gfx::PointF uv_bottom_right(51.5f, 260.f);
551 const float vertex_opacity[] = { 1.0f, 1.0f, 1.0f, 1.0f }; 569 const float vertex_opacity[] = { 1.0f, 1.0f, 1.0f, 1.0f };
552 bool y_flipped = true; 570 bool y_flipped = true;
553 bool nearest_neighbor = true; 571 bool nearest_neighbor = true;
554 CREATE_SHARED_STATE(); 572 CREATE_SHARED_STATE();
555 573
556 CREATE_QUAD_10_NEW(TextureDrawQuad, 574 CREATE_QUAD_10_NEW(TextureDrawQuad,
557 opaque_rect, 575 opaque_rect,
(...skipping 10 matching lines...) Expand all
568 EXPECT_EQ(visible_rect, copy_quad->visible_rect); 586 EXPECT_EQ(visible_rect, copy_quad->visible_rect);
569 EXPECT_EQ(opaque_rect, copy_quad->opaque_rect); 587 EXPECT_EQ(opaque_rect, copy_quad->opaque_rect);
570 EXPECT_EQ(resource_id, copy_quad->resource_id()); 588 EXPECT_EQ(resource_id, copy_quad->resource_id());
571 EXPECT_EQ(premultiplied_alpha, copy_quad->premultiplied_alpha); 589 EXPECT_EQ(premultiplied_alpha, copy_quad->premultiplied_alpha);
572 EXPECT_EQ(uv_top_left, copy_quad->uv_top_left); 590 EXPECT_EQ(uv_top_left, copy_quad->uv_top_left);
573 EXPECT_EQ(uv_bottom_right, copy_quad->uv_bottom_right); 591 EXPECT_EQ(uv_bottom_right, copy_quad->uv_bottom_right);
574 EXPECT_FLOAT_ARRAY_EQ(vertex_opacity, copy_quad->vertex_opacity, 4); 592 EXPECT_FLOAT_ARRAY_EQ(vertex_opacity, copy_quad->vertex_opacity, 4);
575 EXPECT_EQ(y_flipped, copy_quad->y_flipped); 593 EXPECT_EQ(y_flipped, copy_quad->y_flipped);
576 EXPECT_EQ(nearest_neighbor, copy_quad->nearest_neighbor); 594 EXPECT_EQ(nearest_neighbor, copy_quad->nearest_neighbor);
577 595
578 CREATE_QUAD_8_ALL(TextureDrawQuad, 596 CREATE_QUAD_10_ALL(TextureDrawQuad, resource_id, resource_size_in_pixels,
579 resource_id, 597 allow_overlay, premultiplied_alpha, uv_top_left,
580 premultiplied_alpha, 598 uv_bottom_right, SK_ColorTRANSPARENT, vertex_opacity,
581 uv_top_left, 599 y_flipped, nearest_neighbor);
582 uv_bottom_right,
583 SK_ColorTRANSPARENT,
584 vertex_opacity,
585 y_flipped,
586 nearest_neighbor);
587 EXPECT_EQ(DrawQuad::TEXTURE_CONTENT, copy_quad->material); 600 EXPECT_EQ(DrawQuad::TEXTURE_CONTENT, copy_quad->material);
588 EXPECT_EQ(resource_id, copy_quad->resource_id()); 601 EXPECT_EQ(resource_id, copy_quad->resource_id());
602 EXPECT_EQ(allow_overlay, copy_quad->allow_overlay());
603 EXPECT_EQ(resource_size_in_pixels, copy_quad->resource_size_in_pixels());
589 EXPECT_EQ(premultiplied_alpha, copy_quad->premultiplied_alpha); 604 EXPECT_EQ(premultiplied_alpha, copy_quad->premultiplied_alpha);
590 EXPECT_EQ(uv_top_left, copy_quad->uv_top_left); 605 EXPECT_EQ(uv_top_left, copy_quad->uv_top_left);
591 EXPECT_EQ(uv_bottom_right, copy_quad->uv_bottom_right); 606 EXPECT_EQ(uv_bottom_right, copy_quad->uv_bottom_right);
592 EXPECT_FLOAT_ARRAY_EQ(vertex_opacity, copy_quad->vertex_opacity, 4); 607 EXPECT_FLOAT_ARRAY_EQ(vertex_opacity, copy_quad->vertex_opacity, 4);
593 EXPECT_EQ(y_flipped, copy_quad->y_flipped); 608 EXPECT_EQ(y_flipped, copy_quad->y_flipped);
594 EXPECT_EQ(nearest_neighbor, copy_quad->nearest_neighbor); 609 EXPECT_EQ(nearest_neighbor, copy_quad->nearest_neighbor);
595 } 610 }
596 611
597 TEST(DrawQuadTest, CopyTileDrawQuad) { 612 TEST(DrawQuadTest, CopyTileDrawQuad) {
598 gfx::Rect opaque_rect(33, 44, 22, 33); 613 gfx::Rect opaque_rect(33, 44, 22, 33);
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
824 CREATE_SHARED_STATE(); 839 CREATE_SHARED_STATE();
825 CREATE_QUAD_3_NEW( 840 CREATE_QUAD_3_NEW(
826 SolidColorDrawQuad, visible_rect, color, force_anti_aliasing_off); 841 SolidColorDrawQuad, visible_rect, color, force_anti_aliasing_off);
827 EXPECT_EQ(0, IterateAndCount(quad_new)); 842 EXPECT_EQ(0, IterateAndCount(quad_new));
828 } 843 }
829 844
830 TEST_F(DrawQuadIteratorTest, StreamVideoDrawQuad) { 845 TEST_F(DrawQuadIteratorTest, StreamVideoDrawQuad) {
831 gfx::Rect opaque_rect(33, 47, 10, 12); 846 gfx::Rect opaque_rect(33, 47, 10, 12);
832 gfx::Rect visible_rect(40, 50, 30, 20); 847 gfx::Rect visible_rect(40, 50, 30, 20);
833 ResourceId resource_id = 64; 848 ResourceId resource_id = 64;
849 gfx::Size resource_size_in_pixels = gfx::Size(40, 41);
850 bool allow_overlay = true;
834 gfx::Transform matrix = gfx::Transform(0.5, 0.25, 1, 0.75, 0, 1); 851 gfx::Transform matrix = gfx::Transform(0.5, 0.25, 1, 0.75, 0, 1);
835 852
836 CREATE_SHARED_STATE(); 853 CREATE_SHARED_STATE();
837 CREATE_QUAD_4_NEW( 854 CREATE_QUAD_6_NEW(StreamVideoDrawQuad, opaque_rect, visible_rect, resource_id,
838 StreamVideoDrawQuad, opaque_rect, visible_rect, resource_id, matrix); 855 resource_size_in_pixels, allow_overlay, matrix);
839 EXPECT_EQ(resource_id, quad_new->resource_id()); 856 EXPECT_EQ(resource_id, quad_new->resource_id());
857 EXPECT_EQ(allow_overlay, quad_new->allow_overlay());
858 EXPECT_EQ(resource_size_in_pixels, quad_new->resource_size_in_pixels());
840 EXPECT_EQ(1, IterateAndCount(quad_new)); 859 EXPECT_EQ(1, IterateAndCount(quad_new));
841 EXPECT_EQ(resource_id + 1, quad_new->resource_id()); 860 EXPECT_EQ(resource_id + 1, quad_new->resource_id());
842 } 861 }
843 862
844 TEST_F(DrawQuadIteratorTest, SurfaceDrawQuad) { 863 TEST_F(DrawQuadIteratorTest, SurfaceDrawQuad) {
845 gfx::Rect visible_rect(40, 50, 30, 20); 864 gfx::Rect visible_rect(40, 50, 30, 20);
846 SurfaceId surface_id(4321); 865 SurfaceId surface_id(4321);
847 866
848 CREATE_SHARED_STATE(); 867 CREATE_SHARED_STATE();
849 CREATE_QUAD_2_NEW(SurfaceDrawQuad, visible_rect, surface_id); 868 CREATE_QUAD_2_NEW(SurfaceDrawQuad, visible_rect, surface_id);
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
1039 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad); 1058 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad);
1040 break; 1059 break;
1041 case DrawQuad::INVALID: 1060 case DrawQuad::INVALID:
1042 break; 1061 break;
1043 } 1062 }
1044 } 1063 }
1045 } 1064 }
1046 1065
1047 } // namespace 1066 } // namespace
1048 } // namespace cc 1067 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698