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

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

Issue 2121043002: 16 bpp video stream capture, render and WebGL usage - Realsense R200 & SR300 support. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 2 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
« no previous file with comments | « cc/quads/draw_quad.h ('k') | cc/quads/render_pass.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/compiler_specific.h" 12 #include "base/compiler_specific.h"
13 #include "cc/base/math_util.h" 13 #include "cc/base/math_util.h"
14 #include "cc/output/filter_operations.h" 14 #include "cc/output/filter_operations.h"
15 #include "cc/quads/debug_border_draw_quad.h" 15 #include "cc/quads/debug_border_draw_quad.h"
16 #include "cc/quads/largest_draw_quad.h" 16 #include "cc/quads/largest_draw_quad.h"
17 #include "cc/quads/picture_draw_quad.h" 17 #include "cc/quads/picture_draw_quad.h"
18 #include "cc/quads/render_pass.h" 18 #include "cc/quads/render_pass.h"
19 #include "cc/quads/render_pass_draw_quad.h" 19 #include "cc/quads/render_pass_draw_quad.h"
20 #include "cc/quads/solid_color_draw_quad.h" 20 #include "cc/quads/solid_color_draw_quad.h"
21 #include "cc/quads/stream_video_draw_quad.h" 21 #include "cc/quads/stream_video_draw_quad.h"
22 #include "cc/quads/surface_draw_quad.h" 22 #include "cc/quads/surface_draw_quad.h"
23 #include "cc/quads/texture_draw_quad.h" 23 #include "cc/quads/texture_draw_quad.h"
24 #include "cc/quads/tile_draw_quad.h" 24 #include "cc/quads/tile_draw_quad.h"
25 #include "cc/quads/y_video_draw_quad.h"
25 #include "cc/quads/yuv_video_draw_quad.h" 26 #include "cc/quads/yuv_video_draw_quad.h"
26 #include "cc/test/fake_raster_source.h" 27 #include "cc/test/fake_raster_source.h"
27 #include "cc/test/geometry_test_utils.h" 28 #include "cc/test/geometry_test_utils.h"
28 #include "testing/gtest/include/gtest/gtest.h" 29 #include "testing/gtest/include/gtest/gtest.h"
29 #include "third_party/skia/include/effects/SkBlurImageFilter.h" 30 #include "third_party/skia/include/effects/SkBlurImageFilter.h"
30 #include "ui/gfx/transform.h" 31 #include "ui/gfx/transform.h"
31 32
32 namespace cc { 33 namespace cc {
33 namespace { 34 namespace {
34 35
(...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after
678 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id()); 679 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id());
679 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id()); 680 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id());
680 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id()); 681 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id());
681 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id()); 682 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id());
682 EXPECT_EQ(color_space, copy_quad->color_space); 683 EXPECT_EQ(color_space, copy_quad->color_space);
683 EXPECT_EQ(resource_offset, copy_quad->resource_offset); 684 EXPECT_EQ(resource_offset, copy_quad->resource_offset);
684 EXPECT_EQ(resource_multiplier, copy_quad->resource_multiplier); 685 EXPECT_EQ(resource_multiplier, copy_quad->resource_multiplier);
685 EXPECT_EQ(bits_per_channel, copy_quad->bits_per_channel); 686 EXPECT_EQ(bits_per_channel, copy_quad->bits_per_channel);
686 } 687 }
687 688
689 TEST(DrawQuadTest, CopyYVideoDrawQuad) {
690 gfx::Rect opaque_rect(33, 47, 10, 12);
691 gfx::Rect visible_rect(40, 50, 30, 20);
692 unsigned resource_id = 82;
693 gfx::PointF uv_top_left(0.5f, 224.f);
694 gfx::PointF uv_bottom_right(51.5f, 260.f);
695 CREATE_SHARED_STATE();
696
697 CREATE_QUAD_5_NEW(YVideoDrawQuad, opaque_rect, visible_rect, resource_id,
698 uv_top_left, uv_bottom_right);
699 EXPECT_EQ(DrawQuad::Y_VIDEO_CONTENT, copy_quad->material);
700 EXPECT_EQ(visible_rect, copy_quad->visible_rect);
701 EXPECT_EQ(opaque_rect, copy_quad->opaque_rect);
702 EXPECT_EQ(resource_id, copy_quad->resource_id());
703 EXPECT_EQ(uv_top_left, copy_quad->uv_top_left);
704 EXPECT_EQ(uv_bottom_right, copy_quad->uv_bottom_right);
705
706 CREATE_QUAD_3_ALL(YVideoDrawQuad, resource_id, uv_top_left, uv_bottom_right);
707 EXPECT_EQ(DrawQuad::Y_VIDEO_CONTENT, copy_quad->material);
708 EXPECT_EQ(resource_id, copy_quad->resource_id());
709 EXPECT_EQ(uv_top_left, copy_quad->uv_top_left);
710 EXPECT_EQ(uv_bottom_right, copy_quad->uv_bottom_right);
711 }
712
688 TEST(DrawQuadTest, CopyPictureDrawQuad) { 713 TEST(DrawQuadTest, CopyPictureDrawQuad) {
689 gfx::Rect opaque_rect(33, 44, 22, 33); 714 gfx::Rect opaque_rect(33, 44, 22, 33);
690 gfx::Rect visible_rect(40, 50, 30, 20); 715 gfx::Rect visible_rect(40, 50, 30, 20);
691 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f); 716 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f);
692 gfx::Size texture_size(85, 32); 717 gfx::Size texture_size(85, 32);
693 bool nearest_neighbor = true; 718 bool nearest_neighbor = true;
694 ResourceFormat texture_format = RGBA_8888; 719 ResourceFormat texture_format = RGBA_8888;
695 gfx::Rect content_rect(30, 40, 20, 30); 720 gfx::Rect content_rect(30, 40, 20, 30);
696 float contents_scale = 3.141592f; 721 float contents_scale = 3.141592f;
697 scoped_refptr<RasterSource> raster_source = 722 scoped_refptr<RasterSource> raster_source =
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
891 EXPECT_EQ(v_plane_resource_id, quad_new->v_plane_resource_id()); 916 EXPECT_EQ(v_plane_resource_id, quad_new->v_plane_resource_id());
892 EXPECT_EQ(a_plane_resource_id, quad_new->a_plane_resource_id()); 917 EXPECT_EQ(a_plane_resource_id, quad_new->a_plane_resource_id());
893 EXPECT_EQ(color_space, quad_new->color_space); 918 EXPECT_EQ(color_space, quad_new->color_space);
894 EXPECT_EQ(4, IterateAndCount(quad_new)); 919 EXPECT_EQ(4, IterateAndCount(quad_new));
895 EXPECT_EQ(y_plane_resource_id + 1, quad_new->y_plane_resource_id()); 920 EXPECT_EQ(y_plane_resource_id + 1, quad_new->y_plane_resource_id());
896 EXPECT_EQ(u_plane_resource_id + 1, quad_new->u_plane_resource_id()); 921 EXPECT_EQ(u_plane_resource_id + 1, quad_new->u_plane_resource_id());
897 EXPECT_EQ(v_plane_resource_id + 1, quad_new->v_plane_resource_id()); 922 EXPECT_EQ(v_plane_resource_id + 1, quad_new->v_plane_resource_id());
898 EXPECT_EQ(a_plane_resource_id + 1, quad_new->a_plane_resource_id()); 923 EXPECT_EQ(a_plane_resource_id + 1, quad_new->a_plane_resource_id());
899 } 924 }
900 925
926 TEST_F(DrawQuadIteratorTest, YVideoDrawQuad) {
927 gfx::Rect opaque_rect(33, 47, 10, 12);
928 gfx::Rect visible_rect(40, 50, 30, 20);
929 unsigned resource_id = 82;
930 gfx::PointF uv_top_left(0.5f, 224.f);
931 gfx::PointF uv_bottom_right(51.5f, 260.f);
932
933 CREATE_SHARED_STATE();
934 CREATE_QUAD_5_NEW(YVideoDrawQuad, opaque_rect, visible_rect, resource_id,
935 uv_top_left, uv_bottom_right);
936 EXPECT_EQ(resource_id, quad_new->resource_id());
937 EXPECT_EQ(1, IterateAndCount(quad_new));
938 EXPECT_EQ(resource_id + 1, quad_new->resource_id());
939 }
940
901 // Disabled until picture draw quad is supported for ubercomp: crbug.com/231715 941 // Disabled until picture draw quad is supported for ubercomp: crbug.com/231715
902 TEST_F(DrawQuadIteratorTest, DISABLED_PictureDrawQuad) { 942 TEST_F(DrawQuadIteratorTest, DISABLED_PictureDrawQuad) {
903 gfx::Rect opaque_rect(33, 44, 22, 33); 943 gfx::Rect opaque_rect(33, 44, 22, 33);
904 gfx::Rect visible_rect(40, 50, 30, 20); 944 gfx::Rect visible_rect(40, 50, 30, 20);
905 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f); 945 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f);
906 gfx::Size texture_size(85, 32); 946 gfx::Size texture_size(85, 32);
907 bool nearest_neighbor = true; 947 bool nearest_neighbor = true;
908 ResourceFormat texture_format = RGBA_8888; 948 ResourceFormat texture_format = RGBA_8888;
909 gfx::Rect content_rect(30, 40, 20, 30); 949 gfx::Rect content_rect(30, 40, 20, 30);
910 float contents_scale = 3.141592f; 950 float contents_scale = 3.141592f;
(...skipping 29 matching lines...) Expand all
940 break; 980 break;
941 case DrawQuad::SURFACE_CONTENT: 981 case DrawQuad::SURFACE_CONTENT:
942 largest = std::max(largest, sizeof(SurfaceDrawQuad)); 982 largest = std::max(largest, sizeof(SurfaceDrawQuad));
943 break; 983 break;
944 case DrawQuad::TILED_CONTENT: 984 case DrawQuad::TILED_CONTENT:
945 largest = std::max(largest, sizeof(TileDrawQuad)); 985 largest = std::max(largest, sizeof(TileDrawQuad));
946 break; 986 break;
947 case DrawQuad::STREAM_VIDEO_CONTENT: 987 case DrawQuad::STREAM_VIDEO_CONTENT:
948 largest = std::max(largest, sizeof(StreamVideoDrawQuad)); 988 largest = std::max(largest, sizeof(StreamVideoDrawQuad));
949 break; 989 break;
990 case DrawQuad::Y_VIDEO_CONTENT:
991 largest = std::max(largest, sizeof(YVideoDrawQuad));
992 break;
950 case DrawQuad::YUV_VIDEO_CONTENT: 993 case DrawQuad::YUV_VIDEO_CONTENT:
951 largest = std::max(largest, sizeof(YUVVideoDrawQuad)); 994 largest = std::max(largest, sizeof(YUVVideoDrawQuad));
952 break; 995 break;
953 case DrawQuad::INVALID: 996 case DrawQuad::INVALID:
954 break; 997 break;
955 } 998 }
956 } 999 }
957 EXPECT_EQ(LargestDrawQuadSize(), largest); 1000 EXPECT_EQ(LargestDrawQuadSize(), largest);
958 1001
959 if (!HasFailure()) 1002 if (!HasFailure())
(...skipping 21 matching lines...) Expand all
981 break; 1024 break;
982 case DrawQuad::SURFACE_CONTENT: 1025 case DrawQuad::SURFACE_CONTENT:
983 LOG(ERROR) << "SurfaceDrawQuad " << sizeof(SurfaceDrawQuad); 1026 LOG(ERROR) << "SurfaceDrawQuad " << sizeof(SurfaceDrawQuad);
984 break; 1027 break;
985 case DrawQuad::TILED_CONTENT: 1028 case DrawQuad::TILED_CONTENT:
986 LOG(ERROR) << "TileDrawQuad " << sizeof(TileDrawQuad); 1029 LOG(ERROR) << "TileDrawQuad " << sizeof(TileDrawQuad);
987 break; 1030 break;
988 case DrawQuad::STREAM_VIDEO_CONTENT: 1031 case DrawQuad::STREAM_VIDEO_CONTENT:
989 LOG(ERROR) << "StreamVideoDrawQuad " << sizeof(StreamVideoDrawQuad); 1032 LOG(ERROR) << "StreamVideoDrawQuad " << sizeof(StreamVideoDrawQuad);
990 break; 1033 break;
1034 case DrawQuad::Y_VIDEO_CONTENT:
1035 LOG(ERROR) << "YVideoDrawQuad " << sizeof(YVideoDrawQuad);
1036 break;
991 case DrawQuad::YUV_VIDEO_CONTENT: 1037 case DrawQuad::YUV_VIDEO_CONTENT:
992 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad); 1038 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad);
993 break; 1039 break;
994 case DrawQuad::INVALID: 1040 case DrawQuad::INVALID:
995 break; 1041 break;
996 } 1042 }
997 } 1043 }
998 } 1044 }
999 1045
1000 } // namespace 1046 } // namespace
1001 } // namespace cc 1047 } // namespace cc
OLDNEW
« no previous file with comments | « cc/quads/draw_quad.h ('k') | cc/quads/render_pass.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698