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 <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 | 10 |
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); | 361 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); |
362 | 362 |
363 #define CREATE_QUAD_13_NEW(Type, a, b, c, d, e, f, g, h, i, j, k, l, m) \ | 363 #define CREATE_QUAD_13_NEW(Type, a, b, c, d, e, f, g, h, i, j, k, l, m) \ |
364 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ | 364 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ |
365 { \ | 365 { \ |
366 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g, \ | 366 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g, \ |
367 h, i, j, k, l, m); \ | 367 h, i, j, k, l, m); \ |
368 } \ | 368 } \ |
369 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); | 369 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); |
370 | 370 |
| 371 #define CREATE_QUAD_13_ALL(Type, a, b, c, d, e, f, g, h, i, j, k, l, m) \ |
| 372 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ |
| 373 { \ |
| 374 QUAD_DATA quad_all->SetAll(shared_state, quad_rect, quad_opaque_rect, \ |
| 375 quad_visible_rect, needs_blending, a, b, c, d, \ |
| 376 e, f, g, h, i, j, k, l, m); \ |
| 377 } \ |
| 378 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); |
| 379 |
371 #define CREATE_QUAD_14_NEW(Type, a, b, c, d, e, f, g, h, i, j, k, l, m, n) \ | 380 #define CREATE_QUAD_14_NEW(Type, a, b, c, d, e, f, g, h, i, j, k, l, m, n) \ |
372 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ | 381 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ |
373 { \ | 382 { \ |
374 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g, \ | 383 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g, \ |
375 h, i, j, k, l, m, n); \ | 384 h, i, j, k, l, m, n); \ |
376 } \ | 385 } \ |
377 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); | 386 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); |
378 | 387 |
| 388 #define CREATE_QUAD_15_NEW(Type, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) \ |
| 389 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ |
| 390 { \ |
| 391 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g, \ |
| 392 h, i, j, k, l, m, n, o); \ |
| 393 } \ |
| 394 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); |
| 395 |
379 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, g, copy_a) \ | 396 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, g, copy_a) \ |
380 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ | 397 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ |
381 { \ | 398 { \ |
382 QUAD_DATA quad_all->SetAll(shared_state, \ | 399 QUAD_DATA quad_all->SetAll(shared_state, \ |
383 quad_rect, \ | 400 quad_rect, \ |
384 quad_opaque_rect, \ | 401 quad_opaque_rect, \ |
385 quad_visible_rect, \ | 402 quad_visible_rect, \ |
386 needs_blending, \ | 403 needs_blending, \ |
387 a, \ | 404 a, \ |
388 b, \ | 405 b, \ |
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
632 gfx::Size ya_tex_size(32, 68); | 649 gfx::Size ya_tex_size(32, 68); |
633 gfx::Size uv_tex_size(41, 51); | 650 gfx::Size uv_tex_size(41, 51); |
634 ResourceId y_plane_resource_id = 45; | 651 ResourceId y_plane_resource_id = 45; |
635 ResourceId u_plane_resource_id = 532; | 652 ResourceId u_plane_resource_id = 532; |
636 ResourceId v_plane_resource_id = 4; | 653 ResourceId v_plane_resource_id = 4; |
637 ResourceId a_plane_resource_id = 63; | 654 ResourceId a_plane_resource_id = 63; |
638 float resource_offset = 0.5f; | 655 float resource_offset = 0.5f; |
639 float resource_multiplier = 2.001f; | 656 float resource_multiplier = 2.001f; |
640 uint32_t bits_per_channel = 5; | 657 uint32_t bits_per_channel = 5; |
641 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::JPEG; | 658 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::JPEG; |
| 659 gfx::ColorSpace video_color_space = gfx::ColorSpace::CreateJpeg(); |
642 CREATE_SHARED_STATE(); | 660 CREATE_SHARED_STATE(); |
643 | 661 |
644 CREATE_QUAD_14_NEW(YUVVideoDrawQuad, opaque_rect, visible_rect, | 662 CREATE_QUAD_15_NEW(YUVVideoDrawQuad, opaque_rect, visible_rect, |
645 ya_tex_coord_rect, uv_tex_coord_rect, ya_tex_size, | 663 ya_tex_coord_rect, uv_tex_coord_rect, ya_tex_size, |
646 uv_tex_size, y_plane_resource_id, u_plane_resource_id, | 664 uv_tex_size, y_plane_resource_id, u_plane_resource_id, |
647 v_plane_resource_id, a_plane_resource_id, color_space, | 665 v_plane_resource_id, a_plane_resource_id, color_space, |
648 resource_offset, resource_multiplier, bits_per_channel); | 666 video_color_space, resource_offset, resource_multiplier, |
| 667 bits_per_channel); |
649 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); | 668 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); |
650 EXPECT_EQ(opaque_rect, copy_quad->opaque_rect); | 669 EXPECT_EQ(opaque_rect, copy_quad->opaque_rect); |
651 EXPECT_EQ(visible_rect, copy_quad->visible_rect); | 670 EXPECT_EQ(visible_rect, copy_quad->visible_rect); |
652 EXPECT_EQ(ya_tex_coord_rect, copy_quad->ya_tex_coord_rect); | 671 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); | 672 EXPECT_EQ(uv_tex_coord_rect, copy_quad->uv_tex_coord_rect); |
654 EXPECT_EQ(ya_tex_size, copy_quad->ya_tex_size); | 673 EXPECT_EQ(ya_tex_size, copy_quad->ya_tex_size); |
655 EXPECT_EQ(uv_tex_size, copy_quad->uv_tex_size); | 674 EXPECT_EQ(uv_tex_size, copy_quad->uv_tex_size); |
656 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id()); | 675 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()); | 676 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()); | 677 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()); | 678 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id()); |
660 EXPECT_EQ(color_space, copy_quad->color_space); | 679 EXPECT_EQ(color_space, copy_quad->color_space); |
661 EXPECT_EQ(resource_offset, copy_quad->resource_offset); | 680 EXPECT_EQ(resource_offset, copy_quad->resource_offset); |
662 EXPECT_EQ(resource_multiplier, copy_quad->resource_multiplier); | 681 EXPECT_EQ(resource_multiplier, copy_quad->resource_multiplier); |
663 EXPECT_EQ(bits_per_channel, copy_quad->bits_per_channel); | 682 EXPECT_EQ(bits_per_channel, copy_quad->bits_per_channel); |
664 | 683 |
665 CREATE_QUAD_12_ALL(YUVVideoDrawQuad, ya_tex_coord_rect, uv_tex_coord_rect, | 684 CREATE_QUAD_13_ALL(YUVVideoDrawQuad, ya_tex_coord_rect, uv_tex_coord_rect, |
666 ya_tex_size, uv_tex_size, y_plane_resource_id, | 685 ya_tex_size, uv_tex_size, y_plane_resource_id, |
667 u_plane_resource_id, v_plane_resource_id, | 686 u_plane_resource_id, v_plane_resource_id, |
668 a_plane_resource_id, color_space, resource_offset, | 687 a_plane_resource_id, color_space, video_color_space, |
669 resource_multiplier, bits_per_channel); | 688 resource_offset, resource_multiplier, bits_per_channel); |
670 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); | 689 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); |
671 EXPECT_EQ(ya_tex_coord_rect, copy_quad->ya_tex_coord_rect); | 690 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); | 691 EXPECT_EQ(uv_tex_coord_rect, copy_quad->uv_tex_coord_rect); |
673 EXPECT_EQ(ya_tex_size, copy_quad->ya_tex_size); | 692 EXPECT_EQ(ya_tex_size, copy_quad->ya_tex_size); |
674 EXPECT_EQ(uv_tex_size, copy_quad->uv_tex_size); | 693 EXPECT_EQ(uv_tex_size, copy_quad->uv_tex_size); |
675 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id()); | 694 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()); | 695 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()); | 696 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()); | 697 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id()); |
679 EXPECT_EQ(color_space, copy_quad->color_space); | 698 EXPECT_EQ(color_space, copy_quad->color_space); |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
872 gfx::Rect visible_rect(40, 50, 30, 20); | 891 gfx::Rect visible_rect(40, 50, 30, 20); |
873 gfx::RectF ya_tex_coord_rect(0.0f, 0.0f, 0.75f, 0.5f); | 892 gfx::RectF ya_tex_coord_rect(0.0f, 0.0f, 0.75f, 0.5f); |
874 gfx::RectF uv_tex_coord_rect(0.0f, 0.0f, 0.375f, 0.25f); | 893 gfx::RectF uv_tex_coord_rect(0.0f, 0.0f, 0.375f, 0.25f); |
875 gfx::Size ya_tex_size(32, 68); | 894 gfx::Size ya_tex_size(32, 68); |
876 gfx::Size uv_tex_size(41, 51); | 895 gfx::Size uv_tex_size(41, 51); |
877 ResourceId y_plane_resource_id = 45; | 896 ResourceId y_plane_resource_id = 45; |
878 ResourceId u_plane_resource_id = 532; | 897 ResourceId u_plane_resource_id = 532; |
879 ResourceId v_plane_resource_id = 4; | 898 ResourceId v_plane_resource_id = 4; |
880 ResourceId a_plane_resource_id = 63; | 899 ResourceId a_plane_resource_id = 63; |
881 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::JPEG; | 900 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::JPEG; |
| 901 gfx::ColorSpace video_color_space = gfx::ColorSpace::CreateJpeg(); |
882 | 902 |
883 CREATE_SHARED_STATE(); | 903 CREATE_SHARED_STATE(); |
884 CREATE_QUAD_14_NEW(YUVVideoDrawQuad, opaque_rect, visible_rect, | 904 CREATE_QUAD_15_NEW(YUVVideoDrawQuad, opaque_rect, visible_rect, |
885 ya_tex_coord_rect, uv_tex_coord_rect, ya_tex_size, | 905 ya_tex_coord_rect, uv_tex_coord_rect, ya_tex_size, |
886 uv_tex_size, y_plane_resource_id, u_plane_resource_id, | 906 uv_tex_size, y_plane_resource_id, u_plane_resource_id, |
887 v_plane_resource_id, a_plane_resource_id, color_space, 0.0, | 907 v_plane_resource_id, a_plane_resource_id, color_space, |
888 1.0, 5); | 908 video_color_space, 0.0, 1.0, 5); |
889 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); | 909 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); |
890 EXPECT_EQ(y_plane_resource_id, quad_new->y_plane_resource_id()); | 910 EXPECT_EQ(y_plane_resource_id, quad_new->y_plane_resource_id()); |
891 EXPECT_EQ(u_plane_resource_id, quad_new->u_plane_resource_id()); | 911 EXPECT_EQ(u_plane_resource_id, quad_new->u_plane_resource_id()); |
892 EXPECT_EQ(v_plane_resource_id, quad_new->v_plane_resource_id()); | 912 EXPECT_EQ(v_plane_resource_id, quad_new->v_plane_resource_id()); |
893 EXPECT_EQ(a_plane_resource_id, quad_new->a_plane_resource_id()); | 913 EXPECT_EQ(a_plane_resource_id, quad_new->a_plane_resource_id()); |
894 EXPECT_EQ(color_space, quad_new->color_space); | 914 EXPECT_EQ(color_space, quad_new->color_space); |
895 EXPECT_EQ(4, IterateAndCount(quad_new)); | 915 EXPECT_EQ(4, IterateAndCount(quad_new)); |
896 EXPECT_EQ(y_plane_resource_id + 1, quad_new->y_plane_resource_id()); | 916 EXPECT_EQ(y_plane_resource_id + 1, quad_new->y_plane_resource_id()); |
897 EXPECT_EQ(u_plane_resource_id + 1, quad_new->u_plane_resource_id()); | 917 EXPECT_EQ(u_plane_resource_id + 1, quad_new->u_plane_resource_id()); |
898 EXPECT_EQ(v_plane_resource_id + 1, quad_new->v_plane_resource_id()); | 918 EXPECT_EQ(v_plane_resource_id + 1, quad_new->v_plane_resource_id()); |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
993 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad); | 1013 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad); |
994 break; | 1014 break; |
995 case DrawQuad::INVALID: | 1015 case DrawQuad::INVALID: |
996 break; | 1016 break; |
997 } | 1017 } |
998 } | 1018 } |
999 } | 1019 } |
1000 | 1020 |
1001 } // namespace | 1021 } // namespace |
1002 } // namespace cc | 1022 } // namespace cc |
OLD | NEW |