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

Side by Side Diff: cc/output/renderer_pixeltest.cc

Issue 659683002: Include mask texture size in RenderPassDrawQuad (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@update_mask_draw_quad_test
Patch Set: No ToEnclosedRect Created 6 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/output/gl_renderer.cc ('k') | cc/output/software_renderer.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 "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 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 void CreateTestRenderPassDrawQuad(const SharedQuadState* shared_state, 96 void CreateTestRenderPassDrawQuad(const SharedQuadState* shared_state,
97 const gfx::Rect& rect, 97 const gfx::Rect& rect,
98 RenderPassId pass_id, 98 RenderPassId pass_id,
99 RenderPass* render_pass) { 99 RenderPass* render_pass) {
100 RenderPassDrawQuad* quad = 100 RenderPassDrawQuad* quad =
101 render_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); 101 render_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
102 quad->SetNew(shared_state, 102 quad->SetNew(shared_state,
103 rect, 103 rect,
104 rect, 104 rect,
105 pass_id, 105 pass_id,
106 0, // mask_resource_id 106 0, // mask_resource_id
107 gfx::RectF(1.f, 1.f), // mask_uv_rect 107 gfx::Vector2dF(), // mask_uv_scale
108 FilterOperations(), // foreground filters 108 gfx::Size(), // mask_texture_size
109 gfx::Vector2dF(), // filters scale 109 FilterOperations(), // foreground filters
110 FilterOperations()); // background filters 110 gfx::Vector2dF(), // filters scale
111 FilterOperations()); // background filters
111 } 112 }
112 113
113 void CreateTestTextureDrawQuad(const gfx::Rect& rect, 114 void CreateTestTextureDrawQuad(const gfx::Rect& rect,
114 SkColor texel_color, 115 SkColor texel_color,
115 SkColor background_color, 116 SkColor background_color,
116 bool premultiplied_alpha, 117 bool premultiplied_alpha,
117 const SharedQuadState* shared_state, 118 const SharedQuadState* shared_state,
118 ResourceProvider* resource_provider, 119 ResourceProvider* resource_provider,
119 RenderPass* render_pass) { 120 RenderPass* render_pass) {
120 SkPMColor pixel_color = premultiplied_alpha ? 121 SkPMColor pixel_color = premultiplied_alpha ?
(...skipping 670 matching lines...) Expand 10 before | Expand all | Expand 10 after
791 FilterOperations filters; 792 FilterOperations filters;
792 filters.Append(FilterOperation::CreateReferenceFilter(filter)); 793 filters.Append(FilterOperation::CreateReferenceFilter(filter));
793 794
794 RenderPassDrawQuad* render_pass_quad = 795 RenderPassDrawQuad* render_pass_quad =
795 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); 796 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
796 render_pass_quad->SetNew(pass_shared_state, 797 render_pass_quad->SetNew(pass_shared_state,
797 pass_rect, 798 pass_rect,
798 pass_rect, 799 pass_rect,
799 child_pass_id, 800 child_pass_id,
800 0, 801 0,
801 gfx::RectF(), 802 gfx::Vector2dF(),
803 gfx::Size(),
802 filters, 804 filters,
803 gfx::Vector2dF(), 805 gfx::Vector2dF(),
804 FilterOperations()); 806 FilterOperations());
805 807
806 RenderPassList pass_list; 808 RenderPassList pass_list;
807 pass_list.push_back(child_pass.Pass()); 809 pass_list.push_back(child_pass.Pass());
808 pass_list.push_back(root_pass.Pass()); 810 pass_list.push_back(root_pass.Pass());
809 811
810 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl 812 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl
811 // renderer so use a fuzzy comparator. 813 // renderer so use a fuzzy comparator.
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
862 FilterOperations filters; 864 FilterOperations filters;
863 filters.Append(FilterOperation::CreateSaturateFilter(0.5f)); 865 filters.Append(FilterOperation::CreateSaturateFilter(0.5f));
864 866
865 RenderPassDrawQuad* render_pass_quad = 867 RenderPassDrawQuad* render_pass_quad =
866 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); 868 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
867 render_pass_quad->SetNew(pass_shared_state, 869 render_pass_quad->SetNew(pass_shared_state,
868 pass_rect, 870 pass_rect,
869 pass_rect, 871 pass_rect,
870 child_pass_id, 872 child_pass_id,
871 0, 873 0,
872 gfx::RectF(), 874 gfx::Vector2dF(),
875 gfx::Size(),
873 filters, 876 filters,
874 gfx::Vector2dF(), 877 gfx::Vector2dF(),
875 FilterOperations()); 878 FilterOperations());
876 879
877 RenderPassList pass_list; 880 RenderPassList pass_list;
878 pass_list.push_back(child_pass.Pass()); 881 pass_list.push_back(child_pass.Pass());
879 pass_list.push_back(root_pass.Pass()); 882 pass_list.push_back(root_pass.Pass());
880 883
881 EXPECT_TRUE(this->RunPixelTest( 884 EXPECT_TRUE(this->RunPixelTest(
882 &pass_list, 885 &pass_list,
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
932 filters.Append(FilterOperation::CreateGrayscaleFilter(1.f)); 935 filters.Append(FilterOperation::CreateGrayscaleFilter(1.f));
933 filters.Append(FilterOperation::CreateBrightnessFilter(0.5f)); 936 filters.Append(FilterOperation::CreateBrightnessFilter(0.5f));
934 937
935 RenderPassDrawQuad* render_pass_quad = 938 RenderPassDrawQuad* render_pass_quad =
936 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); 939 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
937 render_pass_quad->SetNew(pass_shared_state, 940 render_pass_quad->SetNew(pass_shared_state,
938 pass_rect, 941 pass_rect,
939 pass_rect, 942 pass_rect,
940 child_pass_id, 943 child_pass_id,
941 0, 944 0,
942 gfx::RectF(), 945 gfx::Vector2dF(),
946 gfx::Size(),
943 filters, 947 filters,
944 gfx::Vector2dF(), 948 gfx::Vector2dF(),
945 FilterOperations()); 949 FilterOperations());
946 950
947 RenderPassList pass_list; 951 RenderPassList pass_list;
948 pass_list.push_back(child_pass.Pass()); 952 pass_list.push_back(child_pass.Pass());
949 pass_list.push_back(root_pass.Pass()); 953 pass_list.push_back(root_pass.Pass());
950 954
951 EXPECT_TRUE(this->RunPixelTest( 955 EXPECT_TRUE(this->RunPixelTest(
952 &pass_list, 956 &pass_list,
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
1024 FilterOperations filters; 1028 FilterOperations filters;
1025 filters.Append(FilterOperation::CreateReferenceFilter(filter)); 1029 filters.Append(FilterOperation::CreateReferenceFilter(filter));
1026 1030
1027 RenderPassDrawQuad* render_pass_quad = 1031 RenderPassDrawQuad* render_pass_quad =
1028 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); 1032 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
1029 render_pass_quad->SetNew(pass_shared_state, 1033 render_pass_quad->SetNew(pass_shared_state,
1030 pass_rect, 1034 pass_rect,
1031 pass_rect, 1035 pass_rect,
1032 child_pass_id, 1036 child_pass_id,
1033 0, 1037 0,
1034 gfx::RectF(), 1038 gfx::Vector2dF(),
1039 gfx::Size(),
1035 filters, 1040 filters,
1036 gfx::Vector2dF(), 1041 gfx::Vector2dF(),
1037 FilterOperations()); 1042 FilterOperations());
1038 1043
1039 RenderPassList pass_list; 1044 RenderPassList pass_list;
1040 1045
1041 pass_list.push_back(child_pass.Pass()); 1046 pass_list.push_back(child_pass.Pass());
1042 pass_list.push_back(root_pass.Pass()); 1047 pass_list.push_back(root_pass.Pass());
1043 1048
1044 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl 1049 // 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
1230 EXPECT_NE(sub_rect.bottom(), child_pass->output_rect.bottom()); 1235 EXPECT_NE(sub_rect.bottom(), child_pass->output_rect.bottom());
1231 1236
1232 // Set up a mask on the RenderPassDrawQuad. 1237 // Set up a mask on the RenderPassDrawQuad.
1233 RenderPassDrawQuad* mask_quad = 1238 RenderPassDrawQuad* mask_quad =
1234 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); 1239 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
1235 mask_quad->SetNew(root_pass_shared_state, 1240 mask_quad->SetNew(root_pass_shared_state,
1236 sub_rect, 1241 sub_rect,
1237 sub_rect, 1242 sub_rect,
1238 child_pass_id, 1243 child_pass_id,
1239 mask_resource_id, 1244 mask_resource_id,
1240 gfx::RectF(0.5f, 0.5f, 2.f, 1.f), // mask_uv_rect 1245 gfx::Vector2dF(2.f, 1.f), // mask_uv_scale
1241 FilterOperations(), // foreground filters 1246 gfx::Size(mask_rect.size()), // mask_texture_size
1242 gfx::Vector2dF(), // filters scale 1247 FilterOperations(), // foreground filters
1243 FilterOperations()); // background filters 1248 gfx::Vector2dF(), // filters scale
1249 FilterOperations()); // background filters
1244 1250
1245 // White background behind the masked render pass. 1251 // White background behind the masked render pass.
1246 SolidColorDrawQuad* white = 1252 SolidColorDrawQuad* white =
1247 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1253 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
1248 white->SetNew(root_pass_shared_state, 1254 white->SetNew(root_pass_shared_state,
1249 viewport_rect, 1255 viewport_rect,
1250 viewport_rect, 1256 viewport_rect,
1251 SK_ColorWHITE, 1257 SK_ColorWHITE,
1252 false); 1258 false);
1253 1259
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1297 false); 1303 false);
1298 } 1304 }
1299 1305
1300 { 1306 {
1301 SharedQuadState* shared_state = 1307 SharedQuadState* shared_state =
1302 CreateTestSharedQuadState(filter_pass_to_target_transform_, 1308 CreateTestSharedQuadState(filter_pass_to_target_transform_,
1303 filter_pass_content_rect_, 1309 filter_pass_content_rect_,
1304 filter_pass.get()); 1310 filter_pass.get());
1305 RenderPassDrawQuad* filter_pass_quad = 1311 RenderPassDrawQuad* filter_pass_quad =
1306 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); 1312 root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
1307 filter_pass_quad->SetNew( 1313 filter_pass_quad->SetNew(shared_state,
1308 shared_state, 1314 filter_pass_content_rect_,
1309 filter_pass_content_rect_, 1315 filter_pass_content_rect_,
1310 filter_pass_content_rect_, 1316 filter_pass_id,
1311 filter_pass_id, 1317 0, // mask_resource_id
1312 0, // mask_resource_id 1318 gfx::Vector2dF(), // mask_uv_scale
1313 gfx::RectF(), // mask_uv_rect 1319 gfx::Size(), // mask_texture_size
1314 FilterOperations(), // filters 1320 FilterOperations(), // filters
1315 gfx::Vector2dF(), // filters_scale 1321 gfx::Vector2dF(), // filters_scale
1316 this->background_filters_); 1322 this->background_filters_);
1317 } 1323 }
1318 1324
1319 const int kColumnWidth = device_viewport_rect.width() / 3; 1325 const int kColumnWidth = device_viewport_rect.width() / 3;
1320 1326
1321 gfx::Rect left_rect = gfx::Rect(0, 0, kColumnWidth, 20); 1327 gfx::Rect left_rect = gfx::Rect(0, 0, kColumnWidth, 20);
1322 for (int i = 0; left_rect.y() < device_viewport_rect.height(); ++i) { 1328 for (int i = 0; left_rect.y() < device_viewport_rect.height(); ++i) {
1323 SharedQuadState* shared_state = CreateTestSharedQuadState( 1329 SharedQuadState* shared_state = CreateTestSharedQuadState(
1324 identity_content_to_target_transform, left_rect, root_pass.get()); 1330 identity_content_to_target_transform, left_rect, root_pass.get());
1325 SolidColorDrawQuad* color_quad = 1331 SolidColorDrawQuad* color_quad =
1326 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 1332 root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
(...skipping 873 matching lines...) Expand 10 before | Expand all | Expand 10 after
2200 EXPECT_TRUE(this->RunPixelTest( 2206 EXPECT_TRUE(this->RunPixelTest(
2201 &pass_list, 2207 &pass_list,
2202 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), 2208 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")),
2203 FuzzyPixelOffByOneComparator(true))); 2209 FuzzyPixelOffByOneComparator(true)));
2204 } 2210 }
2205 2211
2206 #endif // !defined(OS_ANDROID) 2212 #endif // !defined(OS_ANDROID)
2207 2213
2208 } // namespace 2214 } // namespace
2209 } // namespace cc 2215 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/gl_renderer.cc ('k') | cc/output/software_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698