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

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

Issue 16968002: Move implementation of WebFilterOperations into cc (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « cc/output/render_surface_filters_unittest.cc ('k') | cc/quads/draw_quad_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.h" 5 #include "base/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/resources/platform_color.h" 10 #include "cc/resources/platform_color.h"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 scoped_ptr<DrawQuad> CreateTestRenderPassDrawQuad( 80 scoped_ptr<DrawQuad> CreateTestRenderPassDrawQuad(
81 SharedQuadState* shared_state, gfx::Rect rect, RenderPass::Id pass_id) { 81 SharedQuadState* shared_state, gfx::Rect rect, RenderPass::Id pass_id) {
82 scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create(); 82 scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create();
83 quad->SetNew(shared_state, 83 quad->SetNew(shared_state,
84 rect, 84 rect,
85 pass_id, 85 pass_id,
86 false, // is_replica 86 false, // is_replica
87 0, // mask_resource_id 87 0, // mask_resource_id
88 rect, // contents_changed_since_last_frame 88 rect, // contents_changed_since_last_frame
89 gfx::RectF(), // mask_uv_rect 89 gfx::RectF(), // mask_uv_rect
90 WebKit::WebFilterOperations(), // foreground filters 90 FilterOperations(), // foreground filters
91 skia::RefPtr<SkImageFilter>(), // foreground filter 91 skia::RefPtr<SkImageFilter>(), // foreground filter
92 WebKit::WebFilterOperations()); // background filters 92 FilterOperations()); // background filters
93 93
94 return quad.PassAs<DrawQuad>(); 94 return quad.PassAs<DrawQuad>();
95 } 95 }
96 96
97 typedef ::testing::Types<GLRenderer, 97 typedef ::testing::Types<GLRenderer,
98 SoftwareRenderer, 98 SoftwareRenderer,
99 GLRendererWithExpandedViewport, 99 GLRendererWithExpandedViewport,
100 SoftwareRendererWithExpandedViewport> RendererTypes; 100 SoftwareRendererWithExpandedViewport> RendererTypes;
101 TYPED_TEST_CASE(RendererPixelTest, RendererTypes); 101 TYPED_TEST_CASE(RendererPixelTest, RendererTypes);
102 102
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 409
410 scoped_ptr<RenderPassDrawQuad> render_pass_quad = 410 scoped_ptr<RenderPassDrawQuad> render_pass_quad =
411 RenderPassDrawQuad::Create(); 411 RenderPassDrawQuad::Create();
412 render_pass_quad->SetNew(pass_shared_state.get(), 412 render_pass_quad->SetNew(pass_shared_state.get(),
413 pass_rect, 413 pass_rect,
414 child_pass_id, 414 child_pass_id,
415 false, 415 false,
416 0, 416 0,
417 pass_rect, 417 pass_rect,
418 gfx::RectF(), 418 gfx::RectF(),
419 WebKit::WebFilterOperations(), 419 FilterOperations(),
420 filter, 420 filter,
421 WebKit::WebFilterOperations()); 421 FilterOperations());
422 422
423 root_pass->quad_list.push_back(render_pass_quad.PassAs<DrawQuad>()); 423 root_pass->quad_list.push_back(render_pass_quad.PassAs<DrawQuad>());
424 424
425 RenderPassList pass_list; 425 RenderPassList pass_list;
426 pass_list.push_back(child_pass.Pass()); 426 pass_list.push_back(child_pass.Pass());
427 pass_list.push_back(root_pass.Pass()); 427 pass_list.push_back(root_pass.Pass());
428 428
429 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl 429 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl
430 // renderer so use a fuzzy comparator. 430 // renderer so use a fuzzy comparator.
431 EXPECT_TRUE(this->RunPixelTest( 431 EXPECT_TRUE(this->RunPixelTest(
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 511
512 scoped_ptr<RenderPassDrawQuad> render_pass_quad = 512 scoped_ptr<RenderPassDrawQuad> render_pass_quad =
513 RenderPassDrawQuad::Create(); 513 RenderPassDrawQuad::Create();
514 render_pass_quad->SetNew(pass_shared_state.get(), 514 render_pass_quad->SetNew(pass_shared_state.get(),
515 pass_rect, 515 pass_rect,
516 child_pass_id, 516 child_pass_id,
517 false, 517 false,
518 0, 518 0,
519 pass_rect, 519 pass_rect,
520 gfx::RectF(), 520 gfx::RectF(),
521 WebKit::WebFilterOperations(), 521 FilterOperations(),
522 filter, 522 filter,
523 WebKit::WebFilterOperations()); 523 FilterOperations());
524 524
525 root_pass->quad_list.push_back(render_pass_quad.PassAs<DrawQuad>()); 525 root_pass->quad_list.push_back(render_pass_quad.PassAs<DrawQuad>());
526 RenderPassList pass_list; 526 RenderPassList pass_list;
527 527
528 pass_list.push_back(child_pass.Pass()); 528 pass_list.push_back(child_pass.Pass());
529 pass_list.push_back(root_pass.Pass()); 529 pass_list.push_back(root_pass.Pass());
530 530
531 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl 531 // This test has alpha=254 for the software renderer vs. alpha=255 for the gl
532 // renderer so use a fuzzy comparator. 532 // renderer so use a fuzzy comparator.
533 EXPECT_TRUE(this->RunPixelTest( 533 EXPECT_TRUE(this->RunPixelTest(
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
710 scoped_ptr<RenderPassDrawQuad> filter_pass_quad = 710 scoped_ptr<RenderPassDrawQuad> filter_pass_quad =
711 RenderPassDrawQuad::Create(); 711 RenderPassDrawQuad::Create();
712 filter_pass_quad->SetNew( 712 filter_pass_quad->SetNew(
713 shared_state.get(), 713 shared_state.get(),
714 filter_pass_content_rect_, 714 filter_pass_content_rect_,
715 filter_pass_id, 715 filter_pass_id,
716 false, // is_replica 716 false, // is_replica
717 0, // mask_resource_id 717 0, // mask_resource_id
718 filter_pass_content_rect_, // contents_changed_since_last_frame 718 filter_pass_content_rect_, // contents_changed_since_last_frame
719 gfx::RectF(), // mask_uv_rect 719 gfx::RectF(), // mask_uv_rect
720 WebKit::WebFilterOperations(), // filters 720 FilterOperations(), // filters
721 skia::RefPtr<SkImageFilter>(), // filter 721 skia::RefPtr<SkImageFilter>(), // filter
722 this->background_filters_); 722 this->background_filters_);
723 root_pass->quad_list.push_back(filter_pass_quad.PassAs<DrawQuad>()); 723 root_pass->quad_list.push_back(filter_pass_quad.PassAs<DrawQuad>());
724 root_pass->shared_quad_state_list.push_back(shared_state.Pass()); 724 root_pass->shared_quad_state_list.push_back(shared_state.Pass());
725 } 725 }
726 726
727 const int kColumnWidth = device_viewport_rect.width() / 3; 727 const int kColumnWidth = device_viewport_rect.width() / 3;
728 728
729 gfx::Rect left_rect = gfx::Rect(0, 0, kColumnWidth, 20); 729 gfx::Rect left_rect = gfx::Rect(0, 0, kColumnWidth, 20);
730 for (int i = 0; left_rect.y() < device_viewport_rect.height(); ++i) { 730 for (int i = 0; left_rect.y() < device_viewport_rect.height(); ++i) {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 SK_ColorWHITE, 772 SK_ColorWHITE,
773 false); 773 false);
774 root_pass->quad_list.push_back(background_quad.PassAs<DrawQuad>()); 774 root_pass->quad_list.push_back(background_quad.PassAs<DrawQuad>());
775 root_pass->shared_quad_state_list.push_back(shared_state.Pass()); 775 root_pass->shared_quad_state_list.push_back(shared_state.Pass());
776 776
777 pass_list_.push_back(filter_pass.Pass()); 777 pass_list_.push_back(filter_pass.Pass());
778 pass_list_.push_back(root_pass.Pass()); 778 pass_list_.push_back(root_pass.Pass());
779 } 779 }
780 780
781 RenderPassList pass_list_; 781 RenderPassList pass_list_;
782 WebKit::WebFilterOperations background_filters_; 782 FilterOperations background_filters_;
783 gfx::Transform filter_pass_to_target_transform_; 783 gfx::Transform filter_pass_to_target_transform_;
784 gfx::Rect filter_pass_content_rect_; 784 gfx::Rect filter_pass_content_rect_;
785 }; 785 };
786 786
787 typedef ::testing::Types<GLRenderer, SoftwareRenderer> 787 typedef ::testing::Types<GLRenderer, SoftwareRenderer>
788 BackgroundFilterRendererTypes; 788 BackgroundFilterRendererTypes;
789 TYPED_TEST_CASE(RendererPixelTestWithBackgroundFilter, 789 TYPED_TEST_CASE(RendererPixelTestWithBackgroundFilter,
790 BackgroundFilterRendererTypes); 790 BackgroundFilterRendererTypes);
791 791
792 typedef RendererPixelTestWithBackgroundFilter<GLRenderer> 792 typedef RendererPixelTestWithBackgroundFilter<GLRenderer>
793 GLRendererPixelTestWithBackgroundFilter; 793 GLRendererPixelTestWithBackgroundFilter;
794 794
795 // TODO(skaslev): The software renderer does not support filters yet. 795 // TODO(skaslev): The software renderer does not support filters yet.
796 TEST_F(GLRendererPixelTestWithBackgroundFilter, InvertFilter) { 796 TEST_F(GLRendererPixelTestWithBackgroundFilter, InvertFilter) {
797 this->background_filters_.append( 797 this->background_filters_.Append(
798 WebKit::WebFilterOperation::createInvertFilter(1.f)); 798 FilterOperation::CreateInvertFilter(1.f));
799 799
800 this->filter_pass_content_rect_ = gfx::Rect(this->device_viewport_size_); 800 this->filter_pass_content_rect_ = gfx::Rect(this->device_viewport_size_);
801 this->filter_pass_content_rect_.Inset(12, 14, 16, 18); 801 this->filter_pass_content_rect_.Inset(12, 14, 16, 18);
802 802
803 this->SetUpRenderPassList(); 803 this->SetUpRenderPassList();
804 EXPECT_TRUE(this->RunPixelTest( 804 EXPECT_TRUE(this->RunPixelTest(
805 &this->pass_list_, 805 &this->pass_list_,
806 base::FilePath(FILE_PATH_LITERAL("background_filter.png")), 806 base::FilePath(FILE_PATH_LITERAL("background_filter.png")),
807 ExactPixelComparator(true))); 807 ExactPixelComparator(true)));
808 } 808 }
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
1177 1177
1178 EXPECT_TRUE(this->RunPixelTest( 1178 EXPECT_TRUE(this->RunPixelTest(
1179 &pass_list, 1179 &pass_list,
1180 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")), 1180 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")),
1181 ExactPixelComparator(true))); 1181 ExactPixelComparator(true)));
1182 } 1182 }
1183 #endif // !defined(OS_ANDROID) 1183 #endif // !defined(OS_ANDROID)
1184 1184
1185 } // namespace 1185 } // namespace
1186 } // namespace cc 1186 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/render_surface_filters_unittest.cc ('k') | cc/quads/draw_quad_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698