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 FilterOperations()); // background filters | 110 FilterOperations()); // background filters |
113 } | 111 } |
114 | 112 |
115 void CreateTestTextureDrawQuad(const gfx::Rect& rect, | 113 void CreateTestTextureDrawQuad(const gfx::Rect& rect, |
116 SkColor texel_color, | 114 SkColor texel_color, |
117 SkColor background_color, | 115 SkColor background_color, |
118 bool premultiplied_alpha, | 116 bool premultiplied_alpha, |
119 const SharedQuadState* shared_state, | 117 const SharedQuadState* shared_state, |
(...skipping 679 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
799 skia::AdoptRef(SkColorFilterImageFilter::Create(colorFilter.get(), NULL)); | 797 skia::AdoptRef(SkColorFilterImageFilter::Create(colorFilter.get(), NULL)); |
800 FilterOperations filters; | 798 FilterOperations filters; |
801 filters.Append(FilterOperation::CreateReferenceFilter(filter)); | 799 filters.Append(FilterOperation::CreateReferenceFilter(filter)); |
802 | 800 |
803 RenderPassDrawQuad* render_pass_quad = | 801 RenderPassDrawQuad* render_pass_quad = |
804 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 802 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
805 render_pass_quad->SetNew(pass_shared_state, | 803 render_pass_quad->SetNew(pass_shared_state, |
806 pass_rect, | 804 pass_rect, |
807 pass_rect, | 805 pass_rect, |
808 child_pass_id, | 806 child_pass_id, |
809 false, | |
810 0, | 807 0, |
811 pass_rect, | |
812 gfx::RectF(), | 808 gfx::RectF(), |
813 filters, | 809 filters, |
814 FilterOperations()); | 810 FilterOperations()); |
815 | 811 |
816 RenderPassList pass_list; | 812 RenderPassList pass_list; |
817 pass_list.push_back(child_pass.Pass()); | 813 pass_list.push_back(child_pass.Pass()); |
818 pass_list.push_back(root_pass.Pass()); | 814 pass_list.push_back(root_pass.Pass()); |
819 | 815 |
820 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl | 816 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl |
821 // renderer so use a fuzzy comparator. | 817 // renderer so use a fuzzy comparator. |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
871 | 867 |
872 FilterOperations filters; | 868 FilterOperations filters; |
873 filters.Append(FilterOperation::CreateSaturateFilter(0.5f)); | 869 filters.Append(FilterOperation::CreateSaturateFilter(0.5f)); |
874 | 870 |
875 RenderPassDrawQuad* render_pass_quad = | 871 RenderPassDrawQuad* render_pass_quad = |
876 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 872 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
877 render_pass_quad->SetNew(pass_shared_state, | 873 render_pass_quad->SetNew(pass_shared_state, |
878 pass_rect, | 874 pass_rect, |
879 pass_rect, | 875 pass_rect, |
880 child_pass_id, | 876 child_pass_id, |
881 false, | |
882 0, | 877 0, |
883 pass_rect, | |
884 gfx::RectF(), | 878 gfx::RectF(), |
885 filters, | 879 filters, |
886 FilterOperations()); | 880 FilterOperations()); |
887 | 881 |
888 RenderPassList pass_list; | 882 RenderPassList pass_list; |
889 pass_list.push_back(child_pass.Pass()); | 883 pass_list.push_back(child_pass.Pass()); |
890 pass_list.push_back(root_pass.Pass()); | 884 pass_list.push_back(root_pass.Pass()); |
891 | 885 |
892 EXPECT_TRUE(this->RunPixelTest( | 886 EXPECT_TRUE(this->RunPixelTest( |
893 &pass_list, | 887 &pass_list, |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
942 FilterOperations filters; | 936 FilterOperations filters; |
943 filters.Append(FilterOperation::CreateGrayscaleFilter(1.f)); | 937 filters.Append(FilterOperation::CreateGrayscaleFilter(1.f)); |
944 filters.Append(FilterOperation::CreateBrightnessFilter(0.5f)); | 938 filters.Append(FilterOperation::CreateBrightnessFilter(0.5f)); |
945 | 939 |
946 RenderPassDrawQuad* render_pass_quad = | 940 RenderPassDrawQuad* render_pass_quad = |
947 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 941 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
948 render_pass_quad->SetNew(pass_shared_state, | 942 render_pass_quad->SetNew(pass_shared_state, |
949 pass_rect, | 943 pass_rect, |
950 pass_rect, | 944 pass_rect, |
951 child_pass_id, | 945 child_pass_id, |
952 false, | |
953 0, | 946 0, |
954 pass_rect, | |
955 gfx::RectF(), | 947 gfx::RectF(), |
956 filters, | 948 filters, |
957 FilterOperations()); | 949 FilterOperations()); |
958 | 950 |
959 RenderPassList pass_list; | 951 RenderPassList pass_list; |
960 pass_list.push_back(child_pass.Pass()); | 952 pass_list.push_back(child_pass.Pass()); |
961 pass_list.push_back(root_pass.Pass()); | 953 pass_list.push_back(root_pass.Pass()); |
962 | 954 |
963 EXPECT_TRUE(this->RunPixelTest( | 955 EXPECT_TRUE(this->RunPixelTest( |
964 &pass_list, | 956 &pass_list, |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1035 skia::AdoptRef(SkColorFilterImageFilter::Create(colorFilter.get(), NULL)); | 1027 skia::AdoptRef(SkColorFilterImageFilter::Create(colorFilter.get(), NULL)); |
1036 FilterOperations filters; | 1028 FilterOperations filters; |
1037 filters.Append(FilterOperation::CreateReferenceFilter(filter)); | 1029 filters.Append(FilterOperation::CreateReferenceFilter(filter)); |
1038 | 1030 |
1039 RenderPassDrawQuad* render_pass_quad = | 1031 RenderPassDrawQuad* render_pass_quad = |
1040 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 1032 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
1041 render_pass_quad->SetNew(pass_shared_state, | 1033 render_pass_quad->SetNew(pass_shared_state, |
1042 pass_rect, | 1034 pass_rect, |
1043 pass_rect, | 1035 pass_rect, |
1044 child_pass_id, | 1036 child_pass_id, |
1045 false, | |
1046 0, | 1037 0, |
1047 pass_rect, | |
1048 gfx::RectF(), | 1038 gfx::RectF(), |
1049 filters, | 1039 filters, |
1050 FilterOperations()); | 1040 FilterOperations()); |
1051 | 1041 |
1052 RenderPassList pass_list; | 1042 RenderPassList pass_list; |
1053 | 1043 |
1054 pass_list.push_back(child_pass.Pass()); | 1044 pass_list.push_back(child_pass.Pass()); |
1055 pass_list.push_back(root_pass.Pass()); | 1045 pass_list.push_back(root_pass.Pass()); |
1056 | 1046 |
1057 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl | 1047 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1243 EXPECT_NE(sub_rect.bottom(), child_pass->output_rect.bottom()); | 1233 EXPECT_NE(sub_rect.bottom(), child_pass->output_rect.bottom()); |
1244 EXPECT_TRUE(child_pass->output_rect.Contains(sub_rect)); | 1234 EXPECT_TRUE(child_pass->output_rect.Contains(sub_rect)); |
1245 | 1235 |
1246 // Set up a mask on the RenderPassDrawQuad. | 1236 // Set up a mask on the RenderPassDrawQuad. |
1247 RenderPassDrawQuad* mask_quad = | 1237 RenderPassDrawQuad* mask_quad = |
1248 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 1238 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
1249 mask_quad->SetNew(root_pass_shared_state, | 1239 mask_quad->SetNew(root_pass_shared_state, |
1250 sub_rect, | 1240 sub_rect, |
1251 sub_rect, | 1241 sub_rect, |
1252 child_pass_id, | 1242 child_pass_id, |
1253 false, // is_replica | |
1254 mask_resource_id, | 1243 mask_resource_id, |
1255 sub_rect, // contents_changed_since_last_frame | |
1256 gfx::RectF(1.f, 1.f), // mask_uv_rect | 1244 gfx::RectF(1.f, 1.f), // mask_uv_rect |
1257 FilterOperations(), // foreground filters | 1245 FilterOperations(), // foreground filters |
1258 FilterOperations()); // background filters | 1246 FilterOperations()); // background filters |
1259 | 1247 |
1260 // White background behind the masked render pass. | 1248 // White background behind the masked render pass. |
1261 SolidColorDrawQuad* white = | 1249 SolidColorDrawQuad* white = |
1262 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 1250 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
1263 white->SetNew(root_pass_shared_state, | 1251 white->SetNew(root_pass_shared_state, |
1264 viewport_rect, | 1252 viewport_rect, |
1265 viewport_rect, | 1253 viewport_rect, |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1317 CreateTestSharedQuadState(filter_pass_to_target_transform_, | 1305 CreateTestSharedQuadState(filter_pass_to_target_transform_, |
1318 filter_pass_content_rect_, | 1306 filter_pass_content_rect_, |
1319 filter_pass.get()); | 1307 filter_pass.get()); |
1320 RenderPassDrawQuad* filter_pass_quad = | 1308 RenderPassDrawQuad* filter_pass_quad = |
1321 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); | 1309 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
1322 filter_pass_quad->SetNew( | 1310 filter_pass_quad->SetNew( |
1323 shared_state, | 1311 shared_state, |
1324 filter_pass_content_rect_, | 1312 filter_pass_content_rect_, |
1325 filter_pass_content_rect_, | 1313 filter_pass_content_rect_, |
1326 filter_pass_id, | 1314 filter_pass_id, |
1327 false, // is_replica | |
1328 0, // mask_resource_id | 1315 0, // mask_resource_id |
1329 filter_pass_content_rect_, // contents_changed_since_last_frame | |
1330 gfx::RectF(), // mask_uv_rect | 1316 gfx::RectF(), // mask_uv_rect |
1331 FilterOperations(), // filters | 1317 FilterOperations(), // filters |
1332 this->background_filters_); | 1318 this->background_filters_); |
1333 } | 1319 } |
1334 | 1320 |
1335 const int kColumnWidth = device_viewport_rect.width() / 3; | 1321 const int kColumnWidth = device_viewport_rect.width() / 3; |
1336 | 1322 |
1337 gfx::Rect left_rect = gfx::Rect(0, 0, kColumnWidth, 20); | 1323 gfx::Rect left_rect = gfx::Rect(0, 0, kColumnWidth, 20); |
1338 for (int i = 0; left_rect.y() < device_viewport_rect.height(); ++i) { | 1324 for (int i = 0; left_rect.y() < device_viewport_rect.height(); ++i) { |
1339 SharedQuadState* shared_state = CreateTestSharedQuadState( | 1325 SharedQuadState* shared_state = CreateTestSharedQuadState( |
(...skipping 834 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2174 EXPECT_TRUE(this->RunPixelTest( | 2160 EXPECT_TRUE(this->RunPixelTest( |
2175 &pass_list, | 2161 &pass_list, |
2176 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), | 2162 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), |
2177 FuzzyPixelOffByOneComparator(true))); | 2163 FuzzyPixelOffByOneComparator(true))); |
2178 } | 2164 } |
2179 | 2165 |
2180 #endif // !defined(OS_ANDROID) | 2166 #endif // !defined(OS_ANDROID) |
2181 | 2167 |
2182 } // namespace | 2168 } // namespace |
2183 } // namespace cc | 2169 } // namespace cc |
OLD | NEW |