OLD | NEW |
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 605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
616 EXPECT_EQ(texture_size, copy_quad->texture_size); | 616 EXPECT_EQ(texture_size, copy_quad->texture_size); |
617 EXPECT_EQ(swizzle_contents, copy_quad->swizzle_contents); | 617 EXPECT_EQ(swizzle_contents, copy_quad->swizzle_contents); |
618 } | 618 } |
619 | 619 |
620 TEST(DrawQuadTest, CopyYUVVideoDrawQuad) { | 620 TEST(DrawQuadTest, CopyYUVVideoDrawQuad) { |
621 gfx::Rect opaque_rect(3, 7, 10, 12); | 621 gfx::Rect opaque_rect(3, 7, 10, 12); |
622 gfx::SizeF tex_scale(0.75f, 0.5f); | 622 gfx::SizeF tex_scale(0.75f, 0.5f); |
623 ResourceProvider::ResourceId y_plane_resource_id = 45; | 623 ResourceProvider::ResourceId y_plane_resource_id = 45; |
624 ResourceProvider::ResourceId u_plane_resource_id = 532; | 624 ResourceProvider::ResourceId u_plane_resource_id = 532; |
625 ResourceProvider::ResourceId v_plane_resource_id = 4; | 625 ResourceProvider::ResourceId v_plane_resource_id = 4; |
| 626 ResourceProvider::ResourceId a_plane_resource_id = 63; |
626 CREATE_SHARED_STATE(); | 627 CREATE_SHARED_STATE(); |
627 | 628 |
628 CREATE_QUAD_5_NEW(YUVVideoDrawQuad, | 629 CREATE_QUAD_6_NEW(YUVVideoDrawQuad, |
629 opaque_rect, | 630 opaque_rect, |
630 tex_scale, | 631 tex_scale, |
631 y_plane_resource_id, | 632 y_plane_resource_id, |
632 u_plane_resource_id, | 633 u_plane_resource_id, |
633 v_plane_resource_id); | 634 v_plane_resource_id, |
| 635 a_plane_resource_id); |
634 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); | 636 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); |
635 EXPECT_RECT_EQ(opaque_rect, copy_quad->opaque_rect); | 637 EXPECT_RECT_EQ(opaque_rect, copy_quad->opaque_rect); |
636 EXPECT_EQ(tex_scale, copy_quad->tex_scale); | 638 EXPECT_EQ(tex_scale, copy_quad->tex_scale); |
637 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id); | 639 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id); |
638 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id); | 640 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id); |
639 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id); | 641 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id); |
| 642 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id); |
640 | 643 |
641 CREATE_QUAD_4_ALL(YUVVideoDrawQuad, | 644 CREATE_QUAD_5_ALL(YUVVideoDrawQuad, |
642 tex_scale, | 645 tex_scale, |
643 y_plane_resource_id, | 646 y_plane_resource_id, |
644 u_plane_resource_id, | 647 u_plane_resource_id, |
645 v_plane_resource_id); | 648 v_plane_resource_id, |
| 649 a_plane_resource_id); |
646 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); | 650 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); |
647 EXPECT_EQ(tex_scale, copy_quad->tex_scale); | 651 EXPECT_EQ(tex_scale, copy_quad->tex_scale); |
648 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id); | 652 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id); |
649 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id); | 653 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id); |
650 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id); | 654 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id); |
| 655 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id); |
651 } | 656 } |
652 | 657 |
653 TEST(DrawQuadTest, CopyPictureDrawQuad) { | 658 TEST(DrawQuadTest, CopyPictureDrawQuad) { |
654 gfx::Rect opaque_rect(33, 44, 22, 33); | 659 gfx::Rect opaque_rect(33, 44, 22, 33); |
655 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f); | 660 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f); |
656 gfx::Size texture_size(85, 32); | 661 gfx::Size texture_size(85, 32); |
657 bool swizzle_contents = true; | 662 bool swizzle_contents = true; |
658 gfx::Rect content_rect(30, 40, 20, 30); | 663 gfx::Rect content_rect(30, 40, 20, 30); |
659 float contents_scale = 3.141592f; | 664 float contents_scale = 3.141592f; |
660 bool can_draw_direct_to_backbuffer = true; | 665 bool can_draw_direct_to_backbuffer = true; |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
847 EXPECT_EQ(1, IterateAndCount(quad_new.get())); | 852 EXPECT_EQ(1, IterateAndCount(quad_new.get())); |
848 EXPECT_EQ(resource_id + 1, quad_new->resource_id); | 853 EXPECT_EQ(resource_id + 1, quad_new->resource_id); |
849 } | 854 } |
850 | 855 |
851 TEST_F(DrawQuadIteratorTest, YUVVideoDrawQuad) { | 856 TEST_F(DrawQuadIteratorTest, YUVVideoDrawQuad) { |
852 gfx::Rect opaque_rect(3, 7, 10, 12); | 857 gfx::Rect opaque_rect(3, 7, 10, 12); |
853 gfx::SizeF tex_scale(0.75f, 0.5f); | 858 gfx::SizeF tex_scale(0.75f, 0.5f); |
854 ResourceProvider::ResourceId y_plane_resource_id = 45; | 859 ResourceProvider::ResourceId y_plane_resource_id = 45; |
855 ResourceProvider::ResourceId u_plane_resource_id = 532; | 860 ResourceProvider::ResourceId u_plane_resource_id = 532; |
856 ResourceProvider::ResourceId v_plane_resource_id = 4; | 861 ResourceProvider::ResourceId v_plane_resource_id = 4; |
| 862 ResourceProvider::ResourceId a_plane_resource_id = 63; |
857 | 863 |
858 CREATE_SHARED_STATE(); | 864 CREATE_SHARED_STATE(); |
859 CREATE_QUAD_5_NEW(YUVVideoDrawQuad, | 865 CREATE_QUAD_6_NEW(YUVVideoDrawQuad, |
860 opaque_rect, | 866 opaque_rect, |
861 tex_scale, | 867 tex_scale, |
862 y_plane_resource_id, | 868 y_plane_resource_id, |
863 u_plane_resource_id, | 869 u_plane_resource_id, |
864 v_plane_resource_id); | 870 v_plane_resource_id, |
| 871 a_plane_resource_id); |
865 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); | 872 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); |
866 EXPECT_EQ(y_plane_resource_id, quad_new->y_plane_resource_id); | 873 EXPECT_EQ(y_plane_resource_id, quad_new->y_plane_resource_id); |
867 EXPECT_EQ(u_plane_resource_id, quad_new->u_plane_resource_id); | 874 EXPECT_EQ(u_plane_resource_id, quad_new->u_plane_resource_id); |
868 EXPECT_EQ(v_plane_resource_id, quad_new->v_plane_resource_id); | 875 EXPECT_EQ(v_plane_resource_id, quad_new->v_plane_resource_id); |
869 EXPECT_EQ(3, IterateAndCount(quad_new.get())); | 876 EXPECT_EQ(a_plane_resource_id, quad_new->a_plane_resource_id); |
| 877 EXPECT_EQ(4, IterateAndCount(quad_new.get())); |
870 EXPECT_EQ(y_plane_resource_id + 1, quad_new->y_plane_resource_id); | 878 EXPECT_EQ(y_plane_resource_id + 1, quad_new->y_plane_resource_id); |
871 EXPECT_EQ(u_plane_resource_id + 1, quad_new->u_plane_resource_id); | 879 EXPECT_EQ(u_plane_resource_id + 1, quad_new->u_plane_resource_id); |
872 EXPECT_EQ(v_plane_resource_id + 1, quad_new->v_plane_resource_id); | 880 EXPECT_EQ(v_plane_resource_id + 1, quad_new->v_plane_resource_id); |
| 881 EXPECT_EQ(a_plane_resource_id + 1, quad_new->a_plane_resource_id); |
873 } | 882 } |
874 | 883 |
875 // Disabled until picture draw quad is supported for ubercomp: crbug.com/231715 | 884 // Disabled until picture draw quad is supported for ubercomp: crbug.com/231715 |
876 TEST_F(DrawQuadIteratorTest, DISABLED_PictureDrawQuad) { | 885 TEST_F(DrawQuadIteratorTest, DISABLED_PictureDrawQuad) { |
877 gfx::Rect opaque_rect(33, 44, 22, 33); | 886 gfx::Rect opaque_rect(33, 44, 22, 33); |
878 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f); | 887 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f); |
879 gfx::Size texture_size(85, 32); | 888 gfx::Size texture_size(85, 32); |
880 bool swizzle_contents = true; | 889 bool swizzle_contents = true; |
881 gfx::Rect content_rect(30, 40, 20, 30); | 890 gfx::Rect content_rect(30, 40, 20, 30); |
882 float contents_scale = 3.141592f; | 891 float contents_scale = 3.141592f; |
883 bool can_draw_direct_to_backbuffer = true; | 892 bool can_draw_direct_to_backbuffer = true; |
884 scoped_refptr<PicturePileImpl> picture_pile = PicturePileImpl::Create(false); | 893 scoped_refptr<PicturePileImpl> picture_pile = PicturePileImpl::Create(false); |
885 | 894 |
886 CREATE_SHARED_STATE(); | 895 CREATE_SHARED_STATE(); |
887 CREATE_QUAD_8_NEW(PictureDrawQuad, | 896 CREATE_QUAD_8_NEW(PictureDrawQuad, |
888 opaque_rect, | 897 opaque_rect, |
889 tex_coord_rect, | 898 tex_coord_rect, |
890 texture_size, | 899 texture_size, |
891 swizzle_contents, | 900 swizzle_contents, |
892 content_rect, | 901 content_rect, |
893 contents_scale, | 902 contents_scale, |
894 can_draw_direct_to_backbuffer, | 903 can_draw_direct_to_backbuffer, |
895 picture_pile); | 904 picture_pile); |
896 EXPECT_EQ(0, IterateAndCount(quad_new.get())); | 905 EXPECT_EQ(0, IterateAndCount(quad_new.get())); |
897 } | 906 } |
898 | 907 |
899 } // namespace | 908 } // namespace |
900 } // namespace cc | 909 } // namespace cc |
OLD | NEW |