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 |