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

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

Issue 12558003: cc: Made image comparison for pixel tests error tolerant. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added output of error pixel details. Created 7 years, 9 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/cc_tests.gyp ('k') | cc/test/layer_tree_pixel_test.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/output/gl_renderer.h" 5 #include "cc/output/gl_renderer.h"
6 6
7 #include "cc/layers/append_quads_data.h" 7 #include "cc/layers/append_quads_data.h"
8 #include "cc/quads/draw_quad.h" 8 #include "cc/quads/draw_quad.h"
9 #include "cc/test/pixel_test.h" 9 #include "cc/test/pixel_test.h"
10 #include "third_party/skia/include/core/SkImageFilter.h" 10 #include "third_party/skia/include/core/SkImageFilter.h"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 color_quad->SetNew(shared_state.get(), rect, SK_ColorGREEN); 88 color_quad->SetNew(shared_state.get(), rect, SK_ColorGREEN);
89 89
90 pass->quad_list.push_back(color_quad.PassAs<DrawQuad>()); 90 pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
91 91
92 RenderPassList pass_list; 92 RenderPassList pass_list;
93 pass_list.push_back(pass.Pass()); 93 pass_list.push_back(pass.Pass());
94 94
95 renderer_->DrawFrame(&pass_list); 95 renderer_->DrawFrame(&pass_list);
96 96
97 EXPECT_TRUE(PixelsMatchReference( 97 EXPECT_TRUE(PixelsMatchReference(
98 base::FilePath(FILE_PATH_LITERAL("green.png")), true)); 98 base::FilePath(FILE_PATH_LITERAL("green.png")),
99 ExactPixelComparator(true)));
99 } 100 }
100 101
101 TEST_F(GLRendererPixelTest, fastPassColorFilterAlpha) { 102 TEST_F(GLRendererPixelTest, fastPassColorFilterAlpha) {
102 gfx::Rect viewport_rect(device_viewport_size_); 103 gfx::Rect viewport_rect(device_viewport_size_);
103 104
104 RenderPass::Id root_pass_id(1, 1); 105 RenderPass::Id root_pass_id(1, 1);
105 scoped_ptr<RenderPass> root_pass = 106 scoped_ptr<RenderPass> root_pass =
106 CreateTestRootRenderPass(root_pass_id, viewport_rect); 107 CreateTestRootRenderPass(root_pass_id, viewport_rect);
107 108
108 RenderPass::Id child_pass_id(2, 2); 109 RenderPass::Id child_pass_id(2, 2);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 184
184 RenderPassList pass_list; 185 RenderPassList pass_list;
185 pass_list.push_back(child_pass.Pass()); 186 pass_list.push_back(child_pass.Pass());
186 pass_list.push_back(root_pass.Pass()); 187 pass_list.push_back(root_pass.Pass());
187 188
188 renderer_->SetEnlargePassTextureAmountForTesting(gfx::Vector2d(50, 75)); 189 renderer_->SetEnlargePassTextureAmountForTesting(gfx::Vector2d(50, 75));
189 renderer_->DecideRenderPassAllocationsForFrame(pass_list); 190 renderer_->DecideRenderPassAllocationsForFrame(pass_list);
190 renderer_->DrawFrame(&pass_list); 191 renderer_->DrawFrame(&pass_list);
191 192
192 EXPECT_TRUE(PixelsMatchReference( 193 EXPECT_TRUE(PixelsMatchReference(
193 base::FilePath(FILE_PATH_LITERAL("blue_yellow_alpha.png")), false)); 194 base::FilePath(FILE_PATH_LITERAL("blue_yellow_alpha.png")),
195 ExactPixelComparator(false)));
194 } 196 }
195 197
196 TEST_F(GLRendererPixelTest, fastPassColorFilterAlphaTranslation) { 198 TEST_F(GLRendererPixelTest, fastPassColorFilterAlphaTranslation) {
197 gfx::Rect viewport_rect(device_viewport_size_); 199 gfx::Rect viewport_rect(device_viewport_size_);
198 200
199 RenderPass::Id root_pass_id(1, 1); 201 RenderPass::Id root_pass_id(1, 1);
200 scoped_ptr<RenderPass> root_pass = 202 scoped_ptr<RenderPass> root_pass =
201 CreateTestRootRenderPass(root_pass_id, viewport_rect); 203 CreateTestRootRenderPass(root_pass_id, viewport_rect);
202 204
203 RenderPass::Id child_pass_id(2, 2); 205 RenderPass::Id child_pass_id(2, 2);
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 285
284 pass_list.push_back(child_pass.Pass()); 286 pass_list.push_back(child_pass.Pass());
285 pass_list.push_back(root_pass.Pass()); 287 pass_list.push_back(root_pass.Pass());
286 288
287 renderer_->SetEnlargePassTextureAmountForTesting(gfx::Vector2d(50, 75)); 289 renderer_->SetEnlargePassTextureAmountForTesting(gfx::Vector2d(50, 75));
288 renderer_->DecideRenderPassAllocationsForFrame(pass_list); 290 renderer_->DecideRenderPassAllocationsForFrame(pass_list);
289 renderer_->DrawFrame(&pass_list); 291 renderer_->DrawFrame(&pass_list);
290 292
291 EXPECT_TRUE(PixelsMatchReference( 293 EXPECT_TRUE(PixelsMatchReference(
292 base::FilePath(FILE_PATH_LITERAL("blue_yellow_alpha_translate.png")), 294 base::FilePath(FILE_PATH_LITERAL("blue_yellow_alpha_translate.png")),
293 false)); 295 ExactPixelComparator(false)));
294 } 296 }
295 297
296 TEST_F(GLRendererPixelTest, RenderPassChangesSize) { 298 TEST_F(GLRendererPixelTest, RenderPassChangesSize) {
297 gfx::Rect viewport_rect(device_viewport_size_); 299 gfx::Rect viewport_rect(device_viewport_size_);
298 300
299 RenderPass::Id root_pass_id(1, 1); 301 RenderPass::Id root_pass_id(1, 1);
300 scoped_ptr<RenderPass> root_pass = 302 scoped_ptr<RenderPass> root_pass =
301 CreateTestRootRenderPass(root_pass_id, viewport_rect); 303 CreateTestRootRenderPass(root_pass_id, viewport_rect);
302 304
303 RenderPass::Id child_pass_id(2, 2); 305 RenderPass::Id child_pass_id(2, 2);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 339
338 RenderPassList pass_list; 340 RenderPassList pass_list;
339 pass_list.push_back(child_pass.Pass()); 341 pass_list.push_back(child_pass.Pass());
340 pass_list.push_back(root_pass.Pass()); 342 pass_list.push_back(root_pass.Pass());
341 343
342 renderer_->SetEnlargePassTextureAmountForTesting(gfx::Vector2d(50, 75)); 344 renderer_->SetEnlargePassTextureAmountForTesting(gfx::Vector2d(50, 75));
343 renderer_->DecideRenderPassAllocationsForFrame(pass_list); 345 renderer_->DecideRenderPassAllocationsForFrame(pass_list);
344 renderer_->DrawFrame(&pass_list); 346 renderer_->DrawFrame(&pass_list);
345 347
346 EXPECT_TRUE(PixelsMatchReference( 348 EXPECT_TRUE(PixelsMatchReference(
347 base::FilePath(FILE_PATH_LITERAL("blue_yellow.png")), true)); 349 base::FilePath(FILE_PATH_LITERAL("blue_yellow.png")),
350 ExactPixelComparator(true)));
348 } 351 }
349 352
350 class GLRendererPixelTestWithBackgroundFilter : public GLRendererPixelTest { 353 class GLRendererPixelTestWithBackgroundFilter : public GLRendererPixelTest {
351 protected: 354 protected:
352 void DrawFrame() { 355 void DrawFrame() {
353 gfx::Rect device_viewport_rect(device_viewport_size_); 356 gfx::Rect device_viewport_rect(device_viewport_size_);
354 357
355 RenderPass::Id root_id(1, 1); 358 RenderPass::Id root_id(1, 1);
356 scoped_ptr<RenderPass> root_pass = 359 scoped_ptr<RenderPass> root_pass =
357 CreateTestRootRenderPass(root_id, device_viewport_rect); 360 CreateTestRootRenderPass(root_id, device_viewport_rect);
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 467
465 TEST_F(GLRendererPixelTestWithBackgroundFilter, InvertFilter) { 468 TEST_F(GLRendererPixelTestWithBackgroundFilter, InvertFilter) {
466 background_filters_.append( 469 background_filters_.append(
467 WebKit::WebFilterOperation::createInvertFilter(1.f)); 470 WebKit::WebFilterOperation::createInvertFilter(1.f));
468 471
469 filter_pass_content_rect_ = gfx::Rect(device_viewport_size_); 472 filter_pass_content_rect_ = gfx::Rect(device_viewport_size_);
470 filter_pass_content_rect_.Inset(12, 14, 16, 18); 473 filter_pass_content_rect_.Inset(12, 14, 16, 18);
471 474
472 DrawFrame(); 475 DrawFrame();
473 EXPECT_TRUE(PixelsMatchReference( 476 EXPECT_TRUE(PixelsMatchReference(
474 base::FilePath(FILE_PATH_LITERAL("background_filter.png")), true)); 477 base::FilePath(FILE_PATH_LITERAL("background_filter.png")),
478 ExactPixelComparator(true)));
475 } 479 }
476 480
477 TEST_F(GLRendererPixelTest, AntiAliasing) { 481 TEST_F(GLRendererPixelTest, AntiAliasing) {
478 gfx::Rect rect(0, 0, 200, 200); 482 gfx::Rect rect(0, 0, 200, 200);
479 483
480 RenderPass::Id id(1, 1); 484 RenderPass::Id id(1, 1);
481 gfx::Transform transform_to_root; 485 gfx::Transform transform_to_root;
482 scoped_ptr<RenderPass> pass = 486 scoped_ptr<RenderPass> pass =
483 CreateTestRenderPass(id, rect, transform_to_root); 487 CreateTestRenderPass(id, rect, transform_to_root);
484 488
(...skipping 25 matching lines...) Expand all
510 blue->SetNew(blue_shared_state.get(), rect, SK_ColorBLUE); 514 blue->SetNew(blue_shared_state.get(), rect, SK_ColorBLUE);
511 515
512 pass->quad_list.push_back(blue.PassAs<DrawQuad>()); 516 pass->quad_list.push_back(blue.PassAs<DrawQuad>());
513 517
514 RenderPassList pass_list; 518 RenderPassList pass_list;
515 pass_list.push_back(pass.Pass()); 519 pass_list.push_back(pass.Pass());
516 520
517 renderer_->DrawFrame(&pass_list); 521 renderer_->DrawFrame(&pass_list);
518 522
519 EXPECT_TRUE(PixelsMatchReference( 523 EXPECT_TRUE(PixelsMatchReference(
520 base::FilePath(FILE_PATH_LITERAL("anti_aliasing.png")), true)); 524 base::FilePath(FILE_PATH_LITERAL("anti_aliasing.png")),
525 ExactPixelComparator(true)));
521 } 526 }
522 #endif 527 #endif
523 528
524 } // namespace 529 } // namespace
525 } // namespace cc 530 } // namespace cc
OLDNEW
« no previous file with comments | « cc/cc_tests.gyp ('k') | cc/test/layer_tree_pixel_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698