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

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

Issue 2919863004: Add flag to signal that video frame must be drawn using an overlay. (Closed)
Patch Set: fix expect Created 3 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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 CompareDrawQuad(quad_new, copy_new, copy_shared_state); \ 118 CompareDrawQuad(quad_new, copy_new, copy_shared_state); \
119 const Type* copy_quad = Type::MaterialCast(copy_new); \ 119 const Type* copy_quad = Type::MaterialCast(copy_new); \
120 ALLOW_UNUSED_LOCAL(copy_quad); 120 ALLOW_UNUSED_LOCAL(copy_quad);
121 121
122 #define SETUP_AND_COPY_QUAD_ALL_RP(Type, quad, a) \ 122 #define SETUP_AND_COPY_QUAD_ALL_RP(Type, quad, a) \
123 DrawQuad* copy_all = render_pass->CopyFromAndAppendRenderPassDrawQuad( \ 123 DrawQuad* copy_all = render_pass->CopyFromAndAppendRenderPassDrawQuad( \
124 quad_all, copy_shared_state, a); \ 124 quad_all, copy_shared_state, a); \
125 CompareDrawQuad(quad_all, copy_all, copy_shared_state); \ 125 CompareDrawQuad(quad_all, copy_all, copy_shared_state); \
126 copy_quad = Type::MaterialCast(copy_all); 126 copy_quad = Type::MaterialCast(copy_all);
127 127
128 #define CREATE_QUAD_ALL(Type, ...) \
danakj 2017/06/07 15:26:40 Oh cute, can you remove all the CREATE_QUAD_X_ALL
129 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
130 { \
131 QUAD_DATA quad_all->SetAll(shared_state, quad_rect, quad_opaque_rect, \
132 quad_visible_rect, needs_blending, \
133 __VA_ARGS__); \
134 } \
135 SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
136
128 #define CREATE_QUAD_1_NEW(Type, a) \ 137 #define CREATE_QUAD_1_NEW(Type, a) \
129 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ 138 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
130 { QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a); } \ 139 { QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a); } \
131 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); 140 SETUP_AND_COPY_QUAD_NEW(Type, quad_new);
132 141
133 #define CREATE_QUAD_1_ALL(Type, a) \ 142 #define CREATE_QUAD_1_ALL(Type, a) \
134 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ 143 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
135 { \ 144 { \
136 QUAD_DATA quad_all->SetAll(shared_state, \ 145 QUAD_DATA quad_all->SetAll(shared_state, \
137 quad_rect, \ 146 quad_rect, \
(...skipping 491 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 gfx::RectF uv_tex_coord_rect(20, 25, 15, 10); 638 gfx::RectF uv_tex_coord_rect(20, 25, 15, 10);
630 gfx::Size ya_tex_size(32, 68); 639 gfx::Size ya_tex_size(32, 68);
631 gfx::Size uv_tex_size(41, 51); 640 gfx::Size uv_tex_size(41, 51);
632 ResourceId y_plane_resource_id = 45; 641 ResourceId y_plane_resource_id = 45;
633 ResourceId u_plane_resource_id = 532; 642 ResourceId u_plane_resource_id = 532;
634 ResourceId v_plane_resource_id = 4; 643 ResourceId v_plane_resource_id = 4;
635 ResourceId a_plane_resource_id = 63; 644 ResourceId a_plane_resource_id = 63;
636 float resource_offset = 0.5f; 645 float resource_offset = 0.5f;
637 float resource_multiplier = 2.001f; 646 float resource_multiplier = 2.001f;
638 uint32_t bits_per_channel = 5; 647 uint32_t bits_per_channel = 5;
648 bool require_overlay = true;
639 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::JPEG; 649 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::JPEG;
640 gfx::ColorSpace video_color_space = gfx::ColorSpace::CreateJpeg(); 650 gfx::ColorSpace video_color_space = gfx::ColorSpace::CreateJpeg();
641 CREATE_SHARED_STATE(); 651 CREATE_SHARED_STATE();
642 652
643 CREATE_QUAD_15_NEW(YUVVideoDrawQuad, opaque_rect, visible_rect, 653 CREATE_QUAD_15_NEW(YUVVideoDrawQuad, opaque_rect, visible_rect,
644 ya_tex_coord_rect, uv_tex_coord_rect, ya_tex_size, 654 ya_tex_coord_rect, uv_tex_coord_rect, ya_tex_size,
645 uv_tex_size, y_plane_resource_id, u_plane_resource_id, 655 uv_tex_size, y_plane_resource_id, u_plane_resource_id,
646 v_plane_resource_id, a_plane_resource_id, color_space, 656 v_plane_resource_id, a_plane_resource_id, color_space,
647 video_color_space, resource_offset, resource_multiplier, 657 video_color_space, resource_offset, resource_multiplier,
648 bits_per_channel); 658 bits_per_channel);
649 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); 659 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material);
650 EXPECT_EQ(opaque_rect, copy_quad->opaque_rect); 660 EXPECT_EQ(opaque_rect, copy_quad->opaque_rect);
651 EXPECT_EQ(visible_rect, copy_quad->visible_rect); 661 EXPECT_EQ(visible_rect, copy_quad->visible_rect);
652 EXPECT_EQ(ya_tex_coord_rect, copy_quad->ya_tex_coord_rect); 662 EXPECT_EQ(ya_tex_coord_rect, copy_quad->ya_tex_coord_rect);
653 EXPECT_EQ(uv_tex_coord_rect, copy_quad->uv_tex_coord_rect); 663 EXPECT_EQ(uv_tex_coord_rect, copy_quad->uv_tex_coord_rect);
654 EXPECT_EQ(ya_tex_size, copy_quad->ya_tex_size); 664 EXPECT_EQ(ya_tex_size, copy_quad->ya_tex_size);
655 EXPECT_EQ(uv_tex_size, copy_quad->uv_tex_size); 665 EXPECT_EQ(uv_tex_size, copy_quad->uv_tex_size);
656 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id()); 666 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id());
657 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id()); 667 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id());
658 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id()); 668 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id());
659 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id()); 669 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id());
660 EXPECT_EQ(color_space, copy_quad->color_space); 670 EXPECT_EQ(color_space, copy_quad->color_space);
661 EXPECT_EQ(resource_offset, copy_quad->resource_offset); 671 EXPECT_EQ(resource_offset, copy_quad->resource_offset);
662 EXPECT_EQ(resource_multiplier, copy_quad->resource_multiplier); 672 EXPECT_EQ(resource_multiplier, copy_quad->resource_multiplier);
663 EXPECT_EQ(bits_per_channel, copy_quad->bits_per_channel); 673 EXPECT_EQ(bits_per_channel, copy_quad->bits_per_channel);
674 EXPECT_FALSE(copy_quad->require_overlay);
664 675
665 CREATE_QUAD_13_ALL(YUVVideoDrawQuad, ya_tex_coord_rect, uv_tex_coord_rect, 676 CREATE_QUAD_ALL(YUVVideoDrawQuad, ya_tex_coord_rect, uv_tex_coord_rect,
666 ya_tex_size, uv_tex_size, y_plane_resource_id, 677 ya_tex_size, uv_tex_size, y_plane_resource_id,
667 u_plane_resource_id, v_plane_resource_id, 678 u_plane_resource_id, v_plane_resource_id, a_plane_resource_id,
668 a_plane_resource_id, color_space, video_color_space, 679 color_space, video_color_space, resource_offset,
669 resource_offset, resource_multiplier, bits_per_channel); 680 resource_multiplier, bits_per_channel, require_overlay);
670 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); 681 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material);
671 EXPECT_EQ(ya_tex_coord_rect, copy_quad->ya_tex_coord_rect); 682 EXPECT_EQ(ya_tex_coord_rect, copy_quad->ya_tex_coord_rect);
672 EXPECT_EQ(uv_tex_coord_rect, copy_quad->uv_tex_coord_rect); 683 EXPECT_EQ(uv_tex_coord_rect, copy_quad->uv_tex_coord_rect);
673 EXPECT_EQ(ya_tex_size, copy_quad->ya_tex_size); 684 EXPECT_EQ(ya_tex_size, copy_quad->ya_tex_size);
674 EXPECT_EQ(uv_tex_size, copy_quad->uv_tex_size); 685 EXPECT_EQ(uv_tex_size, copy_quad->uv_tex_size);
675 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id()); 686 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id());
676 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id()); 687 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id());
677 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id()); 688 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id());
678 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id()); 689 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id());
679 EXPECT_EQ(color_space, copy_quad->color_space); 690 EXPECT_EQ(color_space, copy_quad->color_space);
680 EXPECT_EQ(resource_offset, copy_quad->resource_offset); 691 EXPECT_EQ(resource_offset, copy_quad->resource_offset);
681 EXPECT_EQ(resource_multiplier, copy_quad->resource_multiplier); 692 EXPECT_EQ(resource_multiplier, copy_quad->resource_multiplier);
682 EXPECT_EQ(bits_per_channel, copy_quad->bits_per_channel); 693 EXPECT_EQ(bits_per_channel, copy_quad->bits_per_channel);
694 EXPECT_EQ(require_overlay, copy_quad->require_overlay);
683 } 695 }
684 696
685 TEST(DrawQuadTest, CopyPictureDrawQuad) { 697 TEST(DrawQuadTest, CopyPictureDrawQuad) {
686 gfx::Rect opaque_rect(33, 44, 22, 33); 698 gfx::Rect opaque_rect(33, 44, 22, 33);
687 gfx::Rect visible_rect(40, 50, 30, 20); 699 gfx::Rect visible_rect(40, 50, 30, 20);
688 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f); 700 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f);
689 gfx::Size texture_size(85, 32); 701 gfx::Size texture_size(85, 32);
690 bool nearest_neighbor = true; 702 bool nearest_neighbor = true;
691 ResourceFormat texture_format = RGBA_8888; 703 ResourceFormat texture_format = RGBA_8888;
692 gfx::Rect content_rect(30, 40, 20, 30); 704 gfx::Rect content_rect(30, 40, 20, 30);
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after
987 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad); 999 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad);
988 break; 1000 break;
989 case DrawQuad::INVALID: 1001 case DrawQuad::INVALID:
990 break; 1002 break;
991 } 1003 }
992 } 1004 }
993 } 1005 }
994 1006
995 } // namespace 1007 } // namespace
996 } // namespace cc 1008 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698