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

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

Issue 973223002: cc: Scale checkerboard quads by the device scale factor. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
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 2475 matching lines...) Expand 10 before | Expand all | Expand 10 after
2486 2486
2487 RenderPassList pass_list; 2487 RenderPassList pass_list;
2488 pass_list.push_back(pass.Pass()); 2488 pass_list.push_back(pass.Pass());
2489 2489
2490 EXPECT_TRUE(this->RunPixelTest( 2490 EXPECT_TRUE(this->RunPixelTest(
2491 &pass_list, 2491 &pass_list,
2492 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), 2492 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")),
2493 FuzzyPixelOffByOneComparator(true))); 2493 FuzzyPixelOffByOneComparator(true)));
2494 } 2494 }
2495 2495
2496 TYPED_TEST(RendererPixelTest, Checkerboards) {
2497 gfx::Rect rect(this->device_viewport_size_);
2498
2499 RenderPassId id(1, 1);
2500 scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
2501
2502 gfx::Transform scale;
2503 scale.Scale(2.f, 2.f);
2504
2505 SharedQuadState* shared_state =
2506 CreateTestSharedQuadState(scale, rect, pass.get());
2507
2508 // The color's alpha value is not used.
2509 SkColor color = SK_ColorGREEN;
2510 color = SkColorSetA(color, 0);
2511
2512 CheckerboardDrawQuad* quad =
2513 pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>();
2514 // Appends a checkerboard quad with a scale of 1, but a shared quad state
2515 // with a scale of 2. The checkers should be scaled by 1 * 2 = 2.
2516 quad->SetNew(shared_state, gfx::Rect(this->device_viewport_size_),
2517 gfx::Rect(this->device_viewport_size_), color, 1.f);
2518
2519 RenderPassList pass_list;
2520 pass_list.push_back(pass.Pass());
2521
2522 const char* path =
2523 IsSoftwareRenderer<TypeParam>() ? "green.png" : "green_checkers.png";
2524
2525 EXPECT_TRUE(this->RunPixelTest(&pass_list,
2526 base::FilePath(FILE_PATH_LITERAL(path)),
2527 ExactPixelComparator(true)));
2528 }
2529
2530 TYPED_TEST(RendererPixelTest, CheckerboardsScaled) {
2531 gfx::Rect rect(this->device_viewport_size_);
2532
2533 RenderPassId id(1, 1);
2534 scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
2535
2536 gfx::Transform scale;
2537 scale.Scale(2.f, 2.f);
2538
2539 SharedQuadState* shared_state =
2540 CreateTestSharedQuadState(scale, rect, pass.get());
2541
2542 // The color's alpha value is not used.
2543 SkColor color = SK_ColorGREEN;
2544 color = SkColorSetA(color, 0);
2545
2546 CheckerboardDrawQuad* quad =
2547 pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>();
2548 // Appends a checkerboard quad with a scale of 2, and a shared quad state
2549 // with a scale of 2. The checkers should be scaled by 2 * 2 = 4.
2550 quad->SetNew(shared_state, gfx::Rect(this->device_viewport_size_),
2551 gfx::Rect(this->device_viewport_size_), color, 2.f);
2552
2553 RenderPassList pass_list;
2554 pass_list.push_back(pass.Pass());
2555
2556 const char* path =
2557 IsSoftwareRenderer<TypeParam>() ? "green.png" : "green_checkers_big.png";
2558
2559 EXPECT_TRUE(this->RunPixelTest(&pass_list,
2560 base::FilePath(FILE_PATH_LITERAL(path)),
2561 ExactPixelComparator(true)));
2562 }
2563
2496 #endif // !defined(OS_ANDROID) 2564 #endif // !defined(OS_ANDROID)
2497 2565
2498 } // namespace 2566 } // namespace
2499 } // namespace cc 2567 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698