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 2475 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 |
OLD | NEW |