| Index: cc/output/renderer_pixeltest.cc
|
| diff --git a/cc/output/renderer_pixeltest.cc b/cc/output/renderer_pixeltest.cc
|
| index 743e1cfe59680e2a05d92d6371246879f9d4233c..bbdfe2105708e7209d6a41d52d699ee2ba7799ad 100644
|
| --- a/cc/output/renderer_pixeltest.cc
|
| +++ b/cc/output/renderer_pixeltest.cc
|
| @@ -2493,6 +2493,74 @@ TYPED_TEST(RendererPixelTest, WrapModeRepeat) {
|
| FuzzyPixelOffByOneComparator(true)));
|
| }
|
|
|
| +TYPED_TEST(RendererPixelTest, Checkerboards) {
|
| + gfx::Rect rect(this->device_viewport_size_);
|
| +
|
| + RenderPassId id(1, 1);
|
| + scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
| +
|
| + gfx::Transform scale;
|
| + scale.Scale(2.f, 2.f);
|
| +
|
| + SharedQuadState* shared_state =
|
| + CreateTestSharedQuadState(scale, rect, pass.get());
|
| +
|
| + // The color's alpha value is not used.
|
| + SkColor color = SK_ColorGREEN;
|
| + color = SkColorSetA(color, 0);
|
| +
|
| + CheckerboardDrawQuad* quad =
|
| + pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>();
|
| + // Appends a checkerboard quad with a scale of 1, but a shared quad state
|
| + // with a scale of 2. The checkers should be scaled by 1 * 2 = 2.
|
| + quad->SetNew(shared_state, gfx::Rect(this->device_viewport_size_),
|
| + gfx::Rect(this->device_viewport_size_), color, 1.f);
|
| +
|
| + RenderPassList pass_list;
|
| + pass_list.push_back(pass.Pass());
|
| +
|
| + const char* path =
|
| + IsSoftwareRenderer<TypeParam>() ? "green.png" : "green_checkers.png";
|
| +
|
| + EXPECT_TRUE(this->RunPixelTest(&pass_list,
|
| + base::FilePath(FILE_PATH_LITERAL(path)),
|
| + ExactPixelComparator(true)));
|
| +}
|
| +
|
| +TYPED_TEST(RendererPixelTest, CheckerboardsScaled) {
|
| + gfx::Rect rect(this->device_viewport_size_);
|
| +
|
| + RenderPassId id(1, 1);
|
| + scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
| +
|
| + gfx::Transform scale;
|
| + scale.Scale(2.f, 2.f);
|
| +
|
| + SharedQuadState* shared_state =
|
| + CreateTestSharedQuadState(scale, rect, pass.get());
|
| +
|
| + // The color's alpha value is not used.
|
| + SkColor color = SK_ColorGREEN;
|
| + color = SkColorSetA(color, 0);
|
| +
|
| + CheckerboardDrawQuad* quad =
|
| + pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>();
|
| + // Appends a checkerboard quad with a scale of 2, and a shared quad state
|
| + // with a scale of 2. The checkers should be scaled by 2 * 2 = 4.
|
| + quad->SetNew(shared_state, gfx::Rect(this->device_viewport_size_),
|
| + gfx::Rect(this->device_viewport_size_), color, 2.f);
|
| +
|
| + RenderPassList pass_list;
|
| + pass_list.push_back(pass.Pass());
|
| +
|
| + const char* path =
|
| + IsSoftwareRenderer<TypeParam>() ? "green.png" : "green_checkers_big.png";
|
| +
|
| + EXPECT_TRUE(this->RunPixelTest(&pass_list,
|
| + base::FilePath(FILE_PATH_LITERAL(path)),
|
| + ExactPixelComparator(true)));
|
| +}
|
| +
|
| #endif // !defined(OS_ANDROID)
|
|
|
| } // namespace
|
|
|