| 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 "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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |