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 "base/message_loop/message_loop.h" | 5 #include "base/message_loop/message_loop.h" |
6 #include "cc/layers/append_quads_data.h" | 6 #include "cc/layers/append_quads_data.h" |
7 #include "cc/output/gl_renderer.h" | 7 #include "cc/output/gl_renderer.h" |
8 #include "cc/quads/draw_quad.h" | 8 #include "cc/quads/draw_quad.h" |
9 #include "cc/quads/picture_draw_quad.h" | 9 #include "cc/quads/picture_draw_quad.h" |
10 #include "cc/quads/texture_draw_quad.h" | 10 #include "cc/quads/texture_draw_quad.h" |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 void CreateTestRenderPassDrawQuad(const SharedQuadState* shared_state, | 97 void CreateTestRenderPassDrawQuad(const SharedQuadState* shared_state, |
98 const gfx::Rect& rect, | 98 const gfx::Rect& rect, |
99 RenderPass::Id pass_id, | 99 RenderPass::Id pass_id, |
100 RenderPass* render_pass) { | 100 RenderPass* render_pass) { |
101 RenderPassDrawQuad* quad = | 101 RenderPassDrawQuad* quad = |
102 render_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 102 render_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
103 quad->SetNew(shared_state, | 103 quad->SetNew(shared_state, |
104 rect, | 104 rect, |
105 rect, | 105 rect, |
106 pass_id, | 106 pass_id, |
107 false, // is_replica | |
108 0, // mask_resource_id | 107 0, // mask_resource_id |
109 rect, // contents_changed_since_last_frame | |
110 gfx::RectF(1.f, 1.f), // mask_uv_rect | 108 gfx::RectF(1.f, 1.f), // mask_uv_rect |
111 FilterOperations(), // foreground filters | 109 FilterOperations(), // foreground filters |
112 gfx::Vector2dF(), // filters scale | 110 gfx::Vector2dF(), // filters scale |
113 FilterOperations()); // background filters | 111 FilterOperations()); // background filters |
114 } | 112 } |
115 | 113 |
116 void CreateTestTextureDrawQuad(const gfx::Rect& rect, | 114 void CreateTestTextureDrawQuad(const gfx::Rect& rect, |
117 SkColor texel_color, | 115 SkColor texel_color, |
118 SkColor background_color, | 116 SkColor background_color, |
119 bool premultiplied_alpha, | 117 bool premultiplied_alpha, |
(...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
800 skia::AdoptRef(SkColorFilterImageFilter::Create(colorFilter.get(), NULL)); | 798 skia::AdoptRef(SkColorFilterImageFilter::Create(colorFilter.get(), NULL)); |
801 FilterOperations filters; | 799 FilterOperations filters; |
802 filters.Append(FilterOperation::CreateReferenceFilter(filter)); | 800 filters.Append(FilterOperation::CreateReferenceFilter(filter)); |
803 | 801 |
804 RenderPassDrawQuad* render_pass_quad = | 802 RenderPassDrawQuad* render_pass_quad = |
805 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 803 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
806 render_pass_quad->SetNew(pass_shared_state, | 804 render_pass_quad->SetNew(pass_shared_state, |
807 pass_rect, | 805 pass_rect, |
808 pass_rect, | 806 pass_rect, |
809 child_pass_id, | 807 child_pass_id, |
810 false, | |
811 0, | 808 0, |
812 pass_rect, | |
813 gfx::RectF(), | 809 gfx::RectF(), |
814 filters, | 810 filters, |
815 gfx::Vector2dF(), | 811 gfx::Vector2dF(), |
816 FilterOperations()); | 812 FilterOperations()); |
817 | 813 |
818 RenderPassList pass_list; | 814 RenderPassList pass_list; |
819 pass_list.push_back(child_pass.Pass()); | 815 pass_list.push_back(child_pass.Pass()); |
820 pass_list.push_back(root_pass.Pass()); | 816 pass_list.push_back(root_pass.Pass()); |
821 | 817 |
822 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl | 818 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
873 | 869 |
874 FilterOperations filters; | 870 FilterOperations filters; |
875 filters.Append(FilterOperation::CreateSaturateFilter(0.5f)); | 871 filters.Append(FilterOperation::CreateSaturateFilter(0.5f)); |
876 | 872 |
877 RenderPassDrawQuad* render_pass_quad = | 873 RenderPassDrawQuad* render_pass_quad = |
878 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 874 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
879 render_pass_quad->SetNew(pass_shared_state, | 875 render_pass_quad->SetNew(pass_shared_state, |
880 pass_rect, | 876 pass_rect, |
881 pass_rect, | 877 pass_rect, |
882 child_pass_id, | 878 child_pass_id, |
883 false, | |
884 0, | 879 0, |
885 pass_rect, | |
886 gfx::RectF(), | 880 gfx::RectF(), |
887 filters, | 881 filters, |
888 gfx::Vector2dF(), | 882 gfx::Vector2dF(), |
889 FilterOperations()); | 883 FilterOperations()); |
890 | 884 |
891 RenderPassList pass_list; | 885 RenderPassList pass_list; |
892 pass_list.push_back(child_pass.Pass()); | 886 pass_list.push_back(child_pass.Pass()); |
893 pass_list.push_back(root_pass.Pass()); | 887 pass_list.push_back(root_pass.Pass()); |
894 | 888 |
895 EXPECT_TRUE(this->RunPixelTest( | 889 EXPECT_TRUE(this->RunPixelTest( |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
945 FilterOperations filters; | 939 FilterOperations filters; |
946 filters.Append(FilterOperation::CreateGrayscaleFilter(1.f)); | 940 filters.Append(FilterOperation::CreateGrayscaleFilter(1.f)); |
947 filters.Append(FilterOperation::CreateBrightnessFilter(0.5f)); | 941 filters.Append(FilterOperation::CreateBrightnessFilter(0.5f)); |
948 | 942 |
949 RenderPassDrawQuad* render_pass_quad = | 943 RenderPassDrawQuad* render_pass_quad = |
950 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 944 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
951 render_pass_quad->SetNew(pass_shared_state, | 945 render_pass_quad->SetNew(pass_shared_state, |
952 pass_rect, | 946 pass_rect, |
953 pass_rect, | 947 pass_rect, |
954 child_pass_id, | 948 child_pass_id, |
955 false, | |
956 0, | 949 0, |
957 pass_rect, | |
958 gfx::RectF(), | 950 gfx::RectF(), |
959 filters, | 951 filters, |
960 gfx::Vector2dF(), | 952 gfx::Vector2dF(), |
961 FilterOperations()); | 953 FilterOperations()); |
962 | 954 |
963 RenderPassList pass_list; | 955 RenderPassList pass_list; |
964 pass_list.push_back(child_pass.Pass()); | 956 pass_list.push_back(child_pass.Pass()); |
965 pass_list.push_back(root_pass.Pass()); | 957 pass_list.push_back(root_pass.Pass()); |
966 | 958 |
967 EXPECT_TRUE(this->RunPixelTest( | 959 EXPECT_TRUE(this->RunPixelTest( |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1039 skia::AdoptRef(SkColorFilterImageFilter::Create(colorFilter.get(), NULL)); | 1031 skia::AdoptRef(SkColorFilterImageFilter::Create(colorFilter.get(), NULL)); |
1040 FilterOperations filters; | 1032 FilterOperations filters; |
1041 filters.Append(FilterOperation::CreateReferenceFilter(filter)); | 1033 filters.Append(FilterOperation::CreateReferenceFilter(filter)); |
1042 | 1034 |
1043 RenderPassDrawQuad* render_pass_quad = | 1035 RenderPassDrawQuad* render_pass_quad = |
1044 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 1036 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
1045 render_pass_quad->SetNew(pass_shared_state, | 1037 render_pass_quad->SetNew(pass_shared_state, |
1046 pass_rect, | 1038 pass_rect, |
1047 pass_rect, | 1039 pass_rect, |
1048 child_pass_id, | 1040 child_pass_id, |
1049 false, | |
1050 0, | 1041 0, |
1051 pass_rect, | |
1052 gfx::RectF(), | 1042 gfx::RectF(), |
1053 filters, | 1043 filters, |
1054 gfx::Vector2dF(), | 1044 gfx::Vector2dF(), |
1055 FilterOperations()); | 1045 FilterOperations()); |
1056 | 1046 |
1057 RenderPassList pass_list; | 1047 RenderPassList pass_list; |
1058 | 1048 |
1059 pass_list.push_back(child_pass.Pass()); | 1049 pass_list.push_back(child_pass.Pass()); |
1060 pass_list.push_back(root_pass.Pass()); | 1050 pass_list.push_back(root_pass.Pass()); |
1061 | 1051 |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1248 EXPECT_NE(sub_rect.bottom(), child_pass->output_rect.bottom()); | 1238 EXPECT_NE(sub_rect.bottom(), child_pass->output_rect.bottom()); |
1249 EXPECT_TRUE(child_pass->output_rect.Contains(sub_rect)); | 1239 EXPECT_TRUE(child_pass->output_rect.Contains(sub_rect)); |
1250 | 1240 |
1251 // Set up a mask on the RenderPassDrawQuad. | 1241 // Set up a mask on the RenderPassDrawQuad. |
1252 RenderPassDrawQuad* mask_quad = | 1242 RenderPassDrawQuad* mask_quad = |
1253 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 1243 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
1254 mask_quad->SetNew(root_pass_shared_state, | 1244 mask_quad->SetNew(root_pass_shared_state, |
1255 sub_rect, | 1245 sub_rect, |
1256 sub_rect, | 1246 sub_rect, |
1257 child_pass_id, | 1247 child_pass_id, |
1258 false, // is_replica | |
1259 mask_resource_id, | 1248 mask_resource_id, |
1260 sub_rect, // contents_changed_since_last_frame | |
1261 gfx::RectF(1.f, 1.f), // mask_uv_rect | 1249 gfx::RectF(1.f, 1.f), // mask_uv_rect |
1262 FilterOperations(), // foreground filters | 1250 FilterOperations(), // foreground filters |
1263 gfx::Vector2dF(), // filters scale | 1251 gfx::Vector2dF(), // filters scale |
1264 FilterOperations()); // background filters | 1252 FilterOperations()); // background filters |
1265 | 1253 |
1266 // White background behind the masked render pass. | 1254 // White background behind the masked render pass. |
1267 SolidColorDrawQuad* white = | 1255 SolidColorDrawQuad* white = |
1268 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 1256 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
1269 white->SetNew(root_pass_shared_state, | 1257 white->SetNew(root_pass_shared_state, |
1270 viewport_rect, | 1258 viewport_rect, |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1323 CreateTestSharedQuadState(filter_pass_to_target_transform_, | 1311 CreateTestSharedQuadState(filter_pass_to_target_transform_, |
1324 filter_pass_content_rect_, | 1312 filter_pass_content_rect_, |
1325 filter_pass.get()); | 1313 filter_pass.get()); |
1326 RenderPassDrawQuad* filter_pass_quad = | 1314 RenderPassDrawQuad* filter_pass_quad = |
1327 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 1315 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
1328 filter_pass_quad->SetNew( | 1316 filter_pass_quad->SetNew( |
1329 shared_state, | 1317 shared_state, |
1330 filter_pass_content_rect_, | 1318 filter_pass_content_rect_, |
1331 filter_pass_content_rect_, | 1319 filter_pass_content_rect_, |
1332 filter_pass_id, | 1320 filter_pass_id, |
1333 false, // is_replica | |
1334 0, // mask_resource_id | 1321 0, // mask_resource_id |
1335 filter_pass_content_rect_, // contents_changed_since_last_frame | |
1336 gfx::RectF(), // mask_uv_rect | 1322 gfx::RectF(), // mask_uv_rect |
1337 FilterOperations(), // filters | 1323 FilterOperations(), // filters |
1338 gfx::Vector2dF(), // filters_scale | 1324 gfx::Vector2dF(), // filters_scale |
1339 this->background_filters_); | 1325 this->background_filters_); |
1340 } | 1326 } |
1341 | 1327 |
1342 const int kColumnWidth = device_viewport_rect.width() / 3; | 1328 const int kColumnWidth = device_viewport_rect.width() / 3; |
1343 | 1329 |
1344 gfx::Rect left_rect = gfx::Rect(0, 0, kColumnWidth, 20); | 1330 gfx::Rect left_rect = gfx::Rect(0, 0, kColumnWidth, 20); |
1345 for (int i = 0; left_rect.y() < device_viewport_rect.height(); ++i) { | 1331 for (int i = 0; left_rect.y() < device_viewport_rect.height(); ++i) { |
(...skipping 835 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2181 EXPECT_TRUE(this->RunPixelTest( | 2167 EXPECT_TRUE(this->RunPixelTest( |
2182 &pass_list, | 2168 &pass_list, |
2183 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), | 2169 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), |
2184 FuzzyPixelOffByOneComparator(true))); | 2170 FuzzyPixelOffByOneComparator(true))); |
2185 } | 2171 } |
2186 | 2172 |
2187 #endif // !defined(OS_ANDROID) | 2173 #endif // !defined(OS_ANDROID) |
2188 | 2174 |
2189 } // namespace | 2175 } // namespace |
2190 } // namespace cc | 2176 } // namespace cc |
OLD | NEW |