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

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

Issue 13863015: Add flag for drawing layers to screen with Ganesh (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase again Created 7 years, 7 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/gl_renderer.cc ('k') | cc/output/software_renderer.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 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 WebKit::WebFilterOperations(), // foreground filters 90 WebKit::WebFilterOperations(), // foreground filters
91 skia::RefPtr<SkImageFilter>(), // foreground filter 91 skia::RefPtr<SkImageFilter>(), // foreground filter
92 WebKit::WebFilterOperations()); // background filters 92 WebKit::WebFilterOperations()); // background filters
93 93
94 return quad.PassAs<DrawQuad>(); 94 return quad.PassAs<DrawQuad>();
95 } 95 }
96 96
97 typedef ::testing::Types<GLRenderer, SoftwareRenderer> RendererTypes; 97 typedef ::testing::Types<GLRenderer, SoftwareRenderer> RendererTypes;
98 TYPED_TEST_CASE(RendererPixelTest, RendererTypes); 98 TYPED_TEST_CASE(RendererPixelTest, RendererTypes);
99 99
100 typedef ::testing::Types<GLRenderer,
101 GLRendererWithSkiaGPUBackend,
102 SoftwareRenderer> RendererTypesWithSkiaGPUBackend;
103 template <typename RendererType>
104 class RendererPixelTestWithSkiaGPUBackend
105 : public RendererPixelTest<RendererType> {
106 };
107 TYPED_TEST_CASE(RendererPixelTestWithSkiaGPUBackend,
108 RendererTypesWithSkiaGPUBackend);
109
100 // All pixels can be off by one, but any more than that is an error. 110 // All pixels can be off by one, but any more than that is an error.
101 class FuzzyPixelOffByOneComparator : public FuzzyPixelComparator { 111 class FuzzyPixelOffByOneComparator : public FuzzyPixelComparator {
102 public: 112 public:
103 explicit FuzzyPixelOffByOneComparator(bool discard_alpha) 113 explicit FuzzyPixelOffByOneComparator(bool discard_alpha)
104 : FuzzyPixelComparator(discard_alpha, 100.f, 0.f, 1.f, 1, 0) {} 114 : FuzzyPixelComparator(discard_alpha, 100.f, 0.f, 1.f, 1, 0) {}
105 }; 115 };
106 116
107 template <typename RendererType> 117 template <typename RendererType>
108 class FuzzyForSoftwareOnlyPixelComparator : public PixelComparator { 118 class FuzzyForSoftwareOnlyPixelComparator : public PixelComparator {
109 public: 119 public:
110 explicit FuzzyForSoftwareOnlyPixelComparator(bool discard_alpha) 120 explicit FuzzyForSoftwareOnlyPixelComparator(bool discard_alpha)
111 : fuzzy_(discard_alpha), exact_(discard_alpha) {} 121 : fuzzy_(discard_alpha), exact_(discard_alpha) {}
112 122
113 virtual bool Compare(const SkBitmap& actual_bmp, 123 virtual bool Compare(const SkBitmap& actual_bmp,
114 const SkBitmap& expected_bmp) const; 124 const SkBitmap& expected_bmp) const;
115 125
116 private: 126 private:
117 FuzzyPixelOffByOneComparator fuzzy_; 127 FuzzyPixelOffByOneComparator fuzzy_;
118 ExactPixelComparator exact_; 128 ExactPixelComparator exact_;
119 }; 129 };
120 130
121 template<> 131 template<>
122 bool FuzzyForSoftwareOnlyPixelComparator<GLRenderer>::Compare(
123 const SkBitmap& actual_bmp,
124 const SkBitmap& expected_bmp) const {
125 return exact_.Compare(actual_bmp, expected_bmp);
126 }
127
128 template<>
129 bool FuzzyForSoftwareOnlyPixelComparator<SoftwareRenderer>::Compare( 132 bool FuzzyForSoftwareOnlyPixelComparator<SoftwareRenderer>::Compare(
130 const SkBitmap& actual_bmp, 133 const SkBitmap& actual_bmp,
131 const SkBitmap& expected_bmp) const { 134 const SkBitmap& expected_bmp) const {
132 return fuzzy_.Compare(actual_bmp, expected_bmp); 135 return fuzzy_.Compare(actual_bmp, expected_bmp);
133 } 136 }
134 137
138 template<typename RendererType>
139 bool FuzzyForSoftwareOnlyPixelComparator<RendererType>::Compare(
140 const SkBitmap& actual_bmp,
141 const SkBitmap& expected_bmp) const {
142 return exact_.Compare(actual_bmp, expected_bmp);
143 }
144
135 #if !defined(OS_ANDROID) 145 #if !defined(OS_ANDROID)
136 TYPED_TEST(RendererPixelTest, SimpleGreenRect) { 146 TYPED_TEST(RendererPixelTest, SimpleGreenRect) {
137 gfx::Rect rect(this->device_viewport_size_); 147 gfx::Rect rect(this->device_viewport_size_);
138 148
139 RenderPass::Id id(1, 1); 149 RenderPass::Id id(1, 1);
140 scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect); 150 scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
141 151
142 scoped_ptr<SharedQuadState> shared_state = 152 scoped_ptr<SharedQuadState> shared_state =
143 CreateTestSharedQuadState(gfx::Transform(), rect); 153 CreateTestSharedQuadState(gfx::Transform(), rect);
144 154
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after
563 pass_list_.push_back(filter_pass.Pass()); 573 pass_list_.push_back(filter_pass.Pass());
564 pass_list_.push_back(root_pass.Pass()); 574 pass_list_.push_back(root_pass.Pass());
565 } 575 }
566 576
567 RenderPassList pass_list_; 577 RenderPassList pass_list_;
568 WebKit::WebFilterOperations background_filters_; 578 WebKit::WebFilterOperations background_filters_;
569 gfx::Transform filter_pass_to_target_transform_; 579 gfx::Transform filter_pass_to_target_transform_;
570 gfx::Rect filter_pass_content_rect_; 580 gfx::Rect filter_pass_content_rect_;
571 }; 581 };
572 582
573 typedef ::testing::Types<GLRenderer, SoftwareRenderer> RendererTypes; 583 typedef ::testing::Types<GLRenderer, SoftwareRenderer>
574 TYPED_TEST_CASE(RendererPixelTestWithBackgroundFilter, RendererTypes); 584 BackgroundFilterRendererTypes;
585 TYPED_TEST_CASE(RendererPixelTestWithBackgroundFilter,
586 BackgroundFilterRendererTypes);
575 587
576 typedef RendererPixelTestWithBackgroundFilter<GLRenderer> 588 typedef RendererPixelTestWithBackgroundFilter<GLRenderer>
577 GLRendererPixelTestWithBackgroundFilter; 589 GLRendererPixelTestWithBackgroundFilter;
578 590
579 // TODO(skaslev): The software renderer does not support filters yet. 591 // TODO(skaslev): The software renderer does not support filters yet.
580 TEST_F(GLRendererPixelTestWithBackgroundFilter, InvertFilter) { 592 TEST_F(GLRendererPixelTestWithBackgroundFilter, InvertFilter) {
581 this->background_filters_.append( 593 this->background_filters_.append(
582 WebKit::WebFilterOperation::createInvertFilter(1.f)); 594 WebKit::WebFilterOperation::createInvertFilter(1.f));
583 595
584 this->filter_pass_content_rect_ = gfx::Rect(this->device_viewport_size_); 596 this->filter_pass_content_rect_ = gfx::Rect(this->device_viewport_size_);
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
722 734
723 RenderPassList pass_list; 735 RenderPassList pass_list;
724 pass_list.push_back(pass.Pass()); 736 pass_list.push_back(pass.Pass());
725 737
726 EXPECT_TRUE(this->RunPixelTest( 738 EXPECT_TRUE(this->RunPixelTest(
727 &pass_list, 739 &pass_list,
728 base::FilePath(FILE_PATH_LITERAL("force_anti_aliasing_off.png")), 740 base::FilePath(FILE_PATH_LITERAL("force_anti_aliasing_off.png")),
729 ExactPixelComparator(false))); 741 ExactPixelComparator(false)));
730 } 742 }
731 743
732 TYPED_TEST(RendererPixelTest, PictureDrawQuadIdentityScale) { 744 TYPED_TEST(RendererPixelTestWithSkiaGPUBackend, PictureDrawQuadIdentityScale) {
733 gfx::Size pile_tile_size(1000, 1000); 745 gfx::Size pile_tile_size(1000, 1000);
734 gfx::Rect viewport(this->device_viewport_size_); 746 gfx::Rect viewport(this->device_viewport_size_);
747 bool use_skia_gpu_backend = this->UseSkiaGPUBackend();
735 // TODO(enne): the renderer should figure this out on its own. 748 // TODO(enne): the renderer should figure this out on its own.
736 bool contents_swizzled = !PlatformColor::SameComponentOrder(GL_RGBA); 749 bool contents_swizzled = !PlatformColor::SameComponentOrder(GL_RGBA);
737 750
738 RenderPass::Id id(1, 1); 751 RenderPass::Id id(1, 1);
739 gfx::Transform transform_to_root; 752 gfx::Transform transform_to_root;
740 scoped_ptr<RenderPass> pass = 753 scoped_ptr<RenderPass> pass =
741 CreateTestRenderPass(id, viewport, transform_to_root); 754 CreateTestRenderPass(id, viewport, transform_to_root);
742 755
743 // One clipped blue quad in the lower right corner. Outside the clip 756 // One clipped blue quad in the lower right corner. Outside the clip
744 // is red, which should not appear. 757 // is red, which should not appear.
(...skipping 22 matching lines...) Expand all
767 scoped_ptr<PictureDrawQuad> blue_quad = PictureDrawQuad::Create(); 780 scoped_ptr<PictureDrawQuad> blue_quad = PictureDrawQuad::Create();
768 781
769 blue_quad->SetNew(blue_shared_state.get(), 782 blue_quad->SetNew(blue_shared_state.get(),
770 viewport, // Intentionally bigger than clip. 783 viewport, // Intentionally bigger than clip.
771 gfx::Rect(), 784 gfx::Rect(),
772 viewport, 785 viewport,
773 viewport.size(), 786 viewport.size(),
774 contents_swizzled, 787 contents_swizzled,
775 viewport, 788 viewport,
776 1.f, 789 1.f,
790 use_skia_gpu_backend,
777 blue_pile); 791 blue_pile);
778 pass->quad_list.push_back(blue_quad.PassAs<DrawQuad>()); 792 pass->quad_list.push_back(blue_quad.PassAs<DrawQuad>());
779 793
780 // One viewport-filling green quad. 794 // One viewport-filling green quad.
781 scoped_refptr<FakePicturePileImpl> green_pile = 795 scoped_refptr<FakePicturePileImpl> green_pile =
782 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); 796 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size());
783 SkPaint green_paint; 797 SkPaint green_paint;
784 green_paint.setColor(SK_ColorGREEN); 798 green_paint.setColor(SK_ColorGREEN);
785 green_pile->add_draw_rect_with_paint(viewport, green_paint); 799 green_pile->add_draw_rect_with_paint(viewport, green_paint);
786 green_pile->RerecordPile(); 800 green_pile->RerecordPile();
787 801
788 gfx::Transform green_content_to_target_transform; 802 gfx::Transform green_content_to_target_transform;
789 scoped_ptr<SharedQuadState> green_shared_state = 803 scoped_ptr<SharedQuadState> green_shared_state =
790 CreateTestSharedQuadState(green_content_to_target_transform, viewport); 804 CreateTestSharedQuadState(green_content_to_target_transform, viewport);
791 805
792 scoped_ptr<PictureDrawQuad> green_quad = PictureDrawQuad::Create(); 806 scoped_ptr<PictureDrawQuad> green_quad = PictureDrawQuad::Create();
793 green_quad->SetNew(green_shared_state.get(), 807 green_quad->SetNew(green_shared_state.get(),
794 viewport, 808 viewport,
795 gfx::Rect(), 809 gfx::Rect(),
796 gfx::RectF(0.f, 0.f, 1.f, 1.f), 810 gfx::RectF(0.f, 0.f, 1.f, 1.f),
797 viewport.size(), 811 viewport.size(),
798 contents_swizzled, 812 contents_swizzled,
799 viewport, 813 viewport,
800 1.f, 814 1.f,
815 use_skia_gpu_backend,
801 green_pile); 816 green_pile);
802 pass->quad_list.push_back(green_quad.PassAs<DrawQuad>()); 817 pass->quad_list.push_back(green_quad.PassAs<DrawQuad>());
803 818
804 RenderPassList pass_list; 819 RenderPassList pass_list;
805 pass_list.push_back(pass.Pass()); 820 pass_list.push_back(pass.Pass());
806 821
807 EXPECT_TRUE(this->RunPixelTest( 822 EXPECT_TRUE(this->RunPixelTest(
808 &pass_list, 823 &pass_list,
809 base::FilePath(FILE_PATH_LITERAL("green_with_blue_corner.png")), 824 base::FilePath(FILE_PATH_LITERAL("green_with_blue_corner.png")),
810 ExactPixelComparator(true))); 825 ExactPixelComparator(true)));
811 } 826 }
812 827
813 TYPED_TEST(RendererPixelTest, PictureDrawQuadNonIdentityScale) { 828 TYPED_TEST(RendererPixelTestWithSkiaGPUBackend,
829 PictureDrawQuadNonIdentityScale) {
814 gfx::Size pile_tile_size(1000, 1000); 830 gfx::Size pile_tile_size(1000, 1000);
815 gfx::Rect viewport(this->device_viewport_size_); 831 gfx::Rect viewport(this->device_viewport_size_);
832 bool use_skia_gpu_backend = this->UseSkiaGPUBackend();
816 // TODO(enne): the renderer should figure this out on its own. 833 // TODO(enne): the renderer should figure this out on its own.
817 bool contents_swizzled = !PlatformColor::SameComponentOrder(GL_RGBA); 834 bool contents_swizzled = !PlatformColor::SameComponentOrder(GL_RGBA);
818 835
819 RenderPass::Id id(1, 1); 836 RenderPass::Id id(1, 1);
820 gfx::Transform transform_to_root; 837 gfx::Transform transform_to_root;
821 scoped_ptr<RenderPass> pass = 838 scoped_ptr<RenderPass> pass =
822 CreateTestRenderPass(id, viewport, transform_to_root); 839 CreateTestRenderPass(id, viewport, transform_to_root);
823 840
824 // As scaling up the blue checkerboards will cause sampling on the GPU, 841 // As scaling up the blue checkerboards will cause sampling on the GPU,
825 // a few extra "cleanup rects" need to be added to clobber the blending 842 // a few extra "cleanup rects" need to be added to clobber the blending
(...skipping 18 matching lines...) Expand all
844 861
845 scoped_ptr<PictureDrawQuad> green_quad1 = PictureDrawQuad::Create(); 862 scoped_ptr<PictureDrawQuad> green_quad1 = PictureDrawQuad::Create();
846 green_quad1->SetNew(top_right_green_shared_quad_state.get(), 863 green_quad1->SetNew(top_right_green_shared_quad_state.get(),
847 green_rect1, 864 green_rect1,
848 gfx::Rect(), 865 gfx::Rect(),
849 gfx::RectF(green_rect1.size()), 866 gfx::RectF(green_rect1.size()),
850 green_rect1.size(), 867 green_rect1.size(),
851 contents_swizzled, 868 contents_swizzled,
852 green_rect1, 869 green_rect1,
853 1.f, 870 1.f,
871 use_skia_gpu_backend,
854 green_pile); 872 green_pile);
855 pass->quad_list.push_back(green_quad1.PassAs<DrawQuad>()); 873 pass->quad_list.push_back(green_quad1.PassAs<DrawQuad>());
856 874
857 scoped_ptr<PictureDrawQuad> green_quad2 = PictureDrawQuad::Create(); 875 scoped_ptr<PictureDrawQuad> green_quad2 = PictureDrawQuad::Create();
858 green_quad2->SetNew(top_right_green_shared_quad_state.get(), 876 green_quad2->SetNew(top_right_green_shared_quad_state.get(),
859 green_rect2, 877 green_rect2,
860 gfx::Rect(), 878 gfx::Rect(),
861 gfx::RectF(green_rect2.size()), 879 gfx::RectF(green_rect2.size()),
862 green_rect2.size(), 880 green_rect2.size(),
863 contents_swizzled, 881 contents_swizzled,
864 green_rect2, 882 green_rect2,
865 1.f, 883 1.f,
884 use_skia_gpu_backend,
866 green_pile); 885 green_pile);
867 pass->quad_list.push_back(green_quad2.PassAs<DrawQuad>()); 886 pass->quad_list.push_back(green_quad2.PassAs<DrawQuad>());
868 887
869 // Add a green clipped checkerboard in the bottom right to help test 888 // Add a green clipped checkerboard in the bottom right to help test
870 // interleaving picture quad content and solid color content. 889 // interleaving picture quad content and solid color content.
871 gfx::Rect bottom_right_rect( 890 gfx::Rect bottom_right_rect(
872 gfx::Point(viewport.width() / 2, viewport.height() / 2), 891 gfx::Point(viewport.width() / 2, viewport.height() / 2),
873 gfx::Size(viewport.width() / 2, viewport.height() / 2)); 892 gfx::Size(viewport.width() / 2, viewport.height() / 2));
874 scoped_ptr<SharedQuadState> bottom_right_green_shared_state = 893 scoped_ptr<SharedQuadState> bottom_right_green_shared_state =
875 CreateTestSharedQuadStateClipped( 894 CreateTestSharedQuadStateClipped(
(...skipping 16 matching lines...) Expand all
892 union_layer_rect.Union(blue_layer_rect2); 911 union_layer_rect.Union(blue_layer_rect2);
893 912
894 // Because scaling up will cause sampling outside the rects, add one extra 913 // Because scaling up will cause sampling outside the rects, add one extra
895 // pixel of buffer at the final content scale. 914 // pixel of buffer at the final content scale.
896 float inset = -1.f / contents_scale; 915 float inset = -1.f / contents_scale;
897 blue_layer_rect1.Inset(inset, inset, inset, inset); 916 blue_layer_rect1.Inset(inset, inset, inset, inset);
898 blue_layer_rect2.Inset(inset, inset, inset, inset); 917 blue_layer_rect2.Inset(inset, inset, inset, inset);
899 918
900 scoped_refptr<FakePicturePileImpl> pile = 919 scoped_refptr<FakePicturePileImpl> pile =
901 FakePicturePileImpl::CreateFilledPile(pile_tile_size, layer_rect.size()); 920 FakePicturePileImpl::CreateFilledPile(pile_tile_size, layer_rect.size());
902 pile->add_draw_rect_with_paint(layer_rect, red_paint); 921
903 SkPaint transparent_paint; 922 Region outside(layer_rect);
904 transparent_paint.setXfermodeMode(SkXfermode::kClear_Mode); 923 outside.Subtract(gfx::ToEnclosingRect(union_layer_rect));
905 pile->add_draw_rect_with_paint(union_layer_rect, transparent_paint); 924 for (Region::Iterator iter(outside); iter.has_rect(); iter.next()) {
925 pile->add_draw_rect_with_paint(iter.rect(), red_paint);
926 }
927
906 SkPaint blue_paint; 928 SkPaint blue_paint;
907 blue_paint.setColor(SK_ColorBLUE); 929 blue_paint.setColor(SK_ColorBLUE);
908 pile->add_draw_rect_with_paint(blue_layer_rect1, blue_paint); 930 pile->add_draw_rect_with_paint(blue_layer_rect1, blue_paint);
909 pile->add_draw_rect_with_paint(blue_layer_rect2, blue_paint); 931 pile->add_draw_rect_with_paint(blue_layer_rect2, blue_paint);
910 pile->RerecordPile(); 932 pile->RerecordPile();
911 933
912 gfx::Rect content_rect( 934 gfx::Rect content_rect(
913 gfx::ScaleToEnclosingRect(layer_rect, contents_scale)); 935 gfx::ScaleToEnclosingRect(layer_rect, contents_scale));
914 gfx::Rect content_union_rect( 936 gfx::Rect content_union_rect(
915 gfx::ToEnclosingRect(gfx::ScaleRect(union_layer_rect, contents_scale))); 937 gfx::ToEnclosingRect(gfx::ScaleRect(union_layer_rect, contents_scale)));
916 938
917 // At a scale of 4x the rectangles with a width of 2.5 will take up 10 pixels, 939 // At a scale of 4x the rectangles with a width of 2.5 will take up 10 pixels,
918 // so scale an additional 10x to make them 100x100. 940 // so scale an additional 10x to make them 100x100.
919 gfx::Transform content_to_target_transform; 941 gfx::Transform content_to_target_transform;
920 content_to_target_transform.Scale(10.0, 10.0); 942 content_to_target_transform.Scale(10.0, 10.0);
921 gfx::Rect quad_content_rect(gfx::Size(20, 20)); 943 gfx::Rect quad_content_rect(gfx::Size(20, 20));
922 scoped_ptr<SharedQuadState> blue_shared_state = 944 scoped_ptr<SharedQuadState> blue_shared_state =
923 CreateTestSharedQuadState(content_to_target_transform, quad_content_rect); 945 CreateTestSharedQuadState(content_to_target_transform, quad_content_rect);
924 946
925 scoped_ptr<PictureDrawQuad> blue_quad = PictureDrawQuad::Create(); 947 scoped_ptr<PictureDrawQuad> blue_quad = PictureDrawQuad::Create();
926 blue_quad->SetNew(blue_shared_state.get(), 948 blue_quad->SetNew(blue_shared_state.get(),
927 quad_content_rect, 949 quad_content_rect,
928 gfx::Rect(), 950 gfx::Rect(),
929 quad_content_rect, 951 quad_content_rect,
930 content_union_rect.size(), 952 content_union_rect.size(),
931 contents_swizzled, 953 contents_swizzled,
932 content_union_rect, 954 content_union_rect,
933 contents_scale, 955 contents_scale,
956 use_skia_gpu_backend,
934 pile); 957 pile);
935 pass->quad_list.push_back(blue_quad.PassAs<DrawQuad>()); 958 pass->quad_list.push_back(blue_quad.PassAs<DrawQuad>());
936 959
937 // Fill left half of viewport with green. 960 // Fill left half of viewport with green.
938 gfx::Transform half_green_content_to_target_transform; 961 gfx::Transform half_green_content_to_target_transform;
939 gfx::Rect half_green_rect(gfx::Size(viewport.width() / 2, viewport.height())); 962 gfx::Rect half_green_rect(gfx::Size(viewport.width() / 2, viewport.height()));
940 scoped_ptr<SharedQuadState> half_green_shared_state = 963 scoped_ptr<SharedQuadState> half_green_shared_state =
941 CreateTestSharedQuadState(half_green_content_to_target_transform, 964 CreateTestSharedQuadState(half_green_content_to_target_transform,
942 half_green_rect); 965 half_green_rect);
943 scoped_ptr<SolidColorDrawQuad> half_color_quad = SolidColorDrawQuad::Create(); 966 scoped_ptr<SolidColorDrawQuad> half_color_quad = SolidColorDrawQuad::Create();
944 half_color_quad->SetNew( 967 half_color_quad->SetNew(
945 half_green_shared_state.get(), half_green_rect, SK_ColorGREEN, false); 968 half_green_shared_state.get(), half_green_rect, SK_ColorGREEN, false);
946 pass->quad_list.push_back(half_color_quad.PassAs<DrawQuad>()); 969 pass->quad_list.push_back(half_color_quad.PassAs<DrawQuad>());
947 970
948 RenderPassList pass_list; 971 RenderPassList pass_list;
949 pass_list.push_back(pass.Pass()); 972 pass_list.push_back(pass.Pass());
950 973
951 EXPECT_TRUE(this->RunPixelTest( 974 EXPECT_TRUE(this->RunPixelTest(
952 &pass_list, 975 &pass_list,
953 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")), 976 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")),
954 ExactPixelComparator(true))); 977 ExactPixelComparator(true)));
955 } 978 }
956 #endif // !defined(OS_ANDROID) 979 #endif // !defined(OS_ANDROID)
957 980
958 } // namespace 981 } // namespace
959 } // namespace cc 982 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/gl_renderer.cc ('k') | cc/output/software_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698