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

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

Issue 1362663002: cc: Remove PicturePile and PicturePileImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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
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/message_loop.h" 5 #include "base/message_loop/message_loop.h"
6 #include "cc/output/gl_renderer.h" 6 #include "cc/output/gl_renderer.h"
7 #include "cc/quads/draw_quad.h" 7 #include "cc/quads/draw_quad.h"
8 #include "cc/quads/picture_draw_quad.h" 8 #include "cc/quads/picture_draw_quad.h"
9 #include "cc/quads/texture_draw_quad.h" 9 #include "cc/quads/texture_draw_quad.h"
10 #include "cc/resources/video_resource_updater.h" 10 #include "cc/resources/video_resource_updater.h"
11 #include "cc/test/fake_picture_pile_impl.h" 11 #include "cc/test/fake_display_list_raster_source.h"
12 #include "cc/test/fake_display_list_recording_source.h"
12 #include "cc/test/pixel_test.h" 13 #include "cc/test/pixel_test.h"
13 #include "gpu/command_buffer/client/gles2_interface.h" 14 #include "gpu/command_buffer/client/gles2_interface.h"
14 #include "media/base/video_frame.h" 15 #include "media/base/video_frame.h"
15 #include "third_party/skia/include/core/SkColorPriv.h" 16 #include "third_party/skia/include/core/SkColorPriv.h"
16 #include "third_party/skia/include/core/SkImageFilter.h" 17 #include "third_party/skia/include/core/SkImageFilter.h"
17 #include "third_party/skia/include/core/SkMatrix.h" 18 #include "third_party/skia/include/core/SkMatrix.h"
18 #include "third_party/skia/include/core/SkSurface.h" 19 #include "third_party/skia/include/core/SkSurface.h"
19 #include "third_party/skia/include/effects/SkColorFilterImageFilter.h" 20 #include "third_party/skia/include/effects/SkColorFilterImageFilter.h"
20 #include "third_party/skia/include/effects/SkColorMatrixFilter.h" 21 #include "third_party/skia/include/effects/SkColorMatrixFilter.h"
21 #include "ui/gfx/geometry/rect_conversions.h" 22 #include "ui/gfx/geometry/rect_conversions.h"
(...skipping 734 matching lines...) Expand 10 before | Expand all | Expand 10 after
756 this->quad_rect_.width() / 2, 757 this->quad_rect_.width() / 2,
757 this->quad_rect_.height() / 2); 758 this->quad_rect_.height() / 2);
758 759
759 SkPaint black_paint; 760 SkPaint black_paint;
760 black_paint.setColor(SK_ColorBLACK); 761 black_paint.setColor(SK_ColorBLACK);
761 SkPaint blue_paint; 762 SkPaint blue_paint;
762 blue_paint.setColor(SK_ColorBLUE); 763 blue_paint.setColor(SK_ColorBLUE);
763 SkPaint green_paint; 764 SkPaint green_paint;
764 green_paint.setColor(SK_ColorGREEN); 765 green_paint.setColor(SK_ColorGREEN);
765 766
766 scoped_ptr<FakePicturePile> blue_recording = 767 scoped_ptr<FakeDisplayListRecordingSource> blue_recording =
767 FakePicturePile::CreateFilledPile(gfx::Size(1000, 1000), 768 FakeDisplayListRecordingSource::CreateFilledRecordingSource(
768 this->quad_rect_.size()); 769 this->quad_rect_.size());
769 blue_recording->add_draw_rect_with_paint(outer_rect, black_paint); 770 blue_recording->add_draw_rect_with_paint(outer_rect, black_paint);
770 blue_recording->add_draw_rect_with_paint(inner_rect, blue_paint); 771 blue_recording->add_draw_rect_with_paint(inner_rect, blue_paint);
771 blue_recording->Rerecord(); 772 blue_recording->Rerecord();
772 scoped_refptr<FakePicturePileImpl> blue_pile = 773 scoped_refptr<FakeDisplayListRasterSource> blue_raster_source =
773 FakePicturePileImpl::CreateFromPile(blue_recording.get(), nullptr); 774 FakeDisplayListRasterSource::CreateFromRecordingSource(
775 blue_recording.get(), false);
774 776
775 PictureDrawQuad* blue_quad = 777 PictureDrawQuad* blue_quad =
776 this->render_pass_->template CreateAndAppendDrawQuad<PictureDrawQuad>(); 778 this->render_pass_->template CreateAndAppendDrawQuad<PictureDrawQuad>();
777 779
778 blue_quad->SetNew(this->front_quad_state_, this->quad_rect_, gfx::Rect(), 780 blue_quad->SetNew(this->front_quad_state_, this->quad_rect_, gfx::Rect(),
779 this->quad_rect_, gfx::RectF(this->quad_rect_), 781 this->quad_rect_, gfx::RectF(this->quad_rect_),
780 this->quad_rect_.size(), false, RGBA_8888, this->quad_rect_, 782 this->quad_rect_.size(), false, RGBA_8888, this->quad_rect_,
781 1.f, blue_pile); 783 1.f, blue_raster_source);
782 784
783 scoped_ptr<FakePicturePile> green_recording = 785 scoped_ptr<FakeDisplayListRecordingSource> green_recording =
784 FakePicturePile::CreateFilledPile(this->quad_rect_.size(), 786 FakeDisplayListRecordingSource::CreateFilledRecordingSource(
785 this->quad_rect_.size()); 787 this->quad_rect_.size());
786 green_recording->add_draw_rect_with_paint(outer_rect, green_paint); 788 green_recording->add_draw_rect_with_paint(outer_rect, green_paint);
787 green_recording->add_draw_rect_with_paint(inner_rect, black_paint); 789 green_recording->add_draw_rect_with_paint(inner_rect, black_paint);
788 green_recording->Rerecord(); 790 green_recording->Rerecord();
789 scoped_refptr<FakePicturePileImpl> green_pile = 791 scoped_refptr<FakeDisplayListRasterSource> green_raster_source =
790 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr); 792 FakeDisplayListRasterSource::CreateFromRecordingSource(
793 green_recording.get(), false);
791 794
792 PictureDrawQuad* green_quad = 795 PictureDrawQuad* green_quad =
793 this->render_pass_->template CreateAndAppendDrawQuad<PictureDrawQuad>(); 796 this->render_pass_->template CreateAndAppendDrawQuad<PictureDrawQuad>();
794 green_quad->SetNew(this->back_quad_state_, this->quad_rect_, gfx::Rect(), 797 green_quad->SetNew(this->back_quad_state_, this->quad_rect_, gfx::Rect(),
795 this->quad_rect_, gfx::RectF(this->quad_rect_), 798 this->quad_rect_, gfx::RectF(this->quad_rect_),
796 this->quad_rect_.size(), false, RGBA_8888, 799 this->quad_rect_.size(), false, RGBA_8888,
797 this->quad_rect_, 1.f, green_pile); 800 this->quad_rect_, 1.f, green_raster_source);
798 SCOPED_TRACE("IntersectingPictureQuadsPass"); 801 SCOPED_TRACE("IntersectingPictureQuadsPass");
799 this->template AppendBackgroundAndRunTest<PictureDrawQuad>( 802 this->template AppendBackgroundAndRunTest<PictureDrawQuad>(
800 FuzzyPixelComparator(false, 2.f, 0.f, 256.f, 256, 0.f)); 803 FuzzyPixelComparator(false, 2.f, 0.f, 256.f, 256, 0.f));
801 } 804 }
802 805
803 TYPED_TEST(IntersectingQuadPixelTest, RenderPassQuads) { 806 TYPED_TEST(IntersectingQuadPixelTest, RenderPassQuads) {
804 this->SetupQuadStateAndRenderPass(); 807 this->SetupQuadStateAndRenderPass();
805 RenderPassId child_pass_id1(2, 2); 808 RenderPassId child_pass_id1(2, 2);
806 RenderPassId child_pass_id2(2, 3); 809 RenderPassId child_pass_id2(2, 3);
807 scoped_ptr<RenderPass> child_pass1 = 810 scoped_ptr<RenderPass> child_pass1 =
(...skipping 1356 matching lines...) Expand 10 before | Expand all | Expand 10 after
2164 RenderPassList pass_list; 2167 RenderPassList pass_list;
2165 pass_list.push_back(pass.Pass()); 2168 pass_list.push_back(pass.Pass());
2166 2169
2167 EXPECT_TRUE(this->RunPixelTest( 2170 EXPECT_TRUE(this->RunPixelTest(
2168 &pass_list, 2171 &pass_list,
2169 base::FilePath(FILE_PATH_LITERAL("anti_aliasing_perspective.png")), 2172 base::FilePath(FILE_PATH_LITERAL("anti_aliasing_perspective.png")),
2170 FuzzyPixelOffByOneComparator(true))); 2173 FuzzyPixelOffByOneComparator(true)));
2171 } 2174 }
2172 2175
2173 TYPED_TEST(SoftwareRendererPixelTest, PictureDrawQuadIdentityScale) { 2176 TYPED_TEST(SoftwareRendererPixelTest, PictureDrawQuadIdentityScale) {
2174 gfx::Size pile_tile_size(1000, 1000);
2175 gfx::Rect viewport(this->device_viewport_size_); 2177 gfx::Rect viewport(this->device_viewport_size_);
2176 // TODO(enne): the renderer should figure this out on its own. 2178 // TODO(enne): the renderer should figure this out on its own.
2177 ResourceFormat texture_format = RGBA_8888; 2179 ResourceFormat texture_format = RGBA_8888;
2178 bool nearest_neighbor = false; 2180 bool nearest_neighbor = false;
2179 2181
2180 RenderPassId id(1, 1); 2182 RenderPassId id(1, 1);
2181 gfx::Transform transform_to_root; 2183 gfx::Transform transform_to_root;
2182 scoped_ptr<RenderPass> pass = 2184 scoped_ptr<RenderPass> pass =
2183 CreateTestRenderPass(id, viewport, transform_to_root); 2185 CreateTestRenderPass(id, viewport, transform_to_root);
2184 2186
2185 // One clipped blue quad in the lower right corner. Outside the clip 2187 // One clipped blue quad in the lower right corner. Outside the clip
2186 // is red, which should not appear. 2188 // is red, which should not appear.
2187 gfx::Rect blue_rect(gfx::Size(100, 100)); 2189 gfx::Rect blue_rect(gfx::Size(100, 100));
2188 gfx::Rect blue_clip_rect(gfx::Point(50, 50), gfx::Size(50, 50)); 2190 gfx::Rect blue_clip_rect(gfx::Point(50, 50), gfx::Size(50, 50));
2189 2191
2190 scoped_ptr<FakePicturePile> blue_recording = 2192 scoped_ptr<FakeDisplayListRecordingSource> blue_recording =
2191 FakePicturePile::CreateFilledPile(pile_tile_size, blue_rect.size()); 2193 FakeDisplayListRecordingSource::CreateFilledRecordingSource(
2194 blue_rect.size());
2192 SkPaint red_paint; 2195 SkPaint red_paint;
2193 red_paint.setColor(SK_ColorRED); 2196 red_paint.setColor(SK_ColorRED);
2194 blue_recording->add_draw_rect_with_paint(blue_rect, red_paint); 2197 blue_recording->add_draw_rect_with_paint(blue_rect, red_paint);
2195 SkPaint blue_paint; 2198 SkPaint blue_paint;
2196 blue_paint.setColor(SK_ColorBLUE); 2199 blue_paint.setColor(SK_ColorBLUE);
2197 blue_recording->add_draw_rect_with_paint(blue_clip_rect, blue_paint); 2200 blue_recording->add_draw_rect_with_paint(blue_clip_rect, blue_paint);
2198 blue_recording->Rerecord(); 2201 blue_recording->Rerecord();
2199 2202
2200 scoped_refptr<FakePicturePileImpl> blue_pile = 2203 scoped_refptr<FakeDisplayListRasterSource> blue_raster_source =
2201 FakePicturePileImpl::CreateFromPile(blue_recording.get(), nullptr); 2204 FakeDisplayListRasterSource::CreateFromRecordingSource(
2205 blue_recording.get(), false);
2202 2206
2203 gfx::Vector2d offset(viewport.bottom_right() - blue_rect.bottom_right()); 2207 gfx::Vector2d offset(viewport.bottom_right() - blue_rect.bottom_right());
2204 gfx::Transform blue_quad_to_target_transform; 2208 gfx::Transform blue_quad_to_target_transform;
2205 blue_quad_to_target_transform.Translate(offset.x(), offset.y()); 2209 blue_quad_to_target_transform.Translate(offset.x(), offset.y());
2206 gfx::Rect blue_target_clip_rect = MathUtil::MapEnclosingClippedRect( 2210 gfx::Rect blue_target_clip_rect = MathUtil::MapEnclosingClippedRect(
2207 blue_quad_to_target_transform, blue_clip_rect); 2211 blue_quad_to_target_transform, blue_clip_rect);
2208 SharedQuadState* blue_shared_state = 2212 SharedQuadState* blue_shared_state =
2209 CreateTestSharedQuadStateClipped(blue_quad_to_target_transform, blue_rect, 2213 CreateTestSharedQuadStateClipped(blue_quad_to_target_transform, blue_rect,
2210 blue_target_clip_rect, pass.get()); 2214 blue_target_clip_rect, pass.get());
2211 2215
2212 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2216 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2213 2217
2214 blue_quad->SetNew(blue_shared_state, 2218 blue_quad->SetNew(blue_shared_state,
2215 viewport, // Intentionally bigger than clip. 2219 viewport, // Intentionally bigger than clip.
2216 gfx::Rect(), viewport, gfx::RectF(viewport), 2220 gfx::Rect(), viewport, gfx::RectF(viewport),
2217 viewport.size(), nearest_neighbor, texture_format, viewport, 2221 viewport.size(), nearest_neighbor, texture_format, viewport,
2218 1.f, blue_pile.get()); 2222 1.f, blue_raster_source.get());
danakj 2015/09/22 21:52:15 nit: no get()?
vmpstr 2015/09/22 22:57:49 Changed to Pass.
2219 2223
2220 // One viewport-filling green quad. 2224 // One viewport-filling green quad.
2221 scoped_ptr<FakePicturePile> green_recording = 2225 scoped_ptr<FakeDisplayListRecordingSource> green_recording =
2222 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); 2226 FakeDisplayListRecordingSource::CreateFilledRecordingSource(
2227 viewport.size());
2223 SkPaint green_paint; 2228 SkPaint green_paint;
2224 green_paint.setColor(SK_ColorGREEN); 2229 green_paint.setColor(SK_ColorGREEN);
2225 green_recording->add_draw_rect_with_paint(viewport, green_paint); 2230 green_recording->add_draw_rect_with_paint(viewport, green_paint);
2226 green_recording->Rerecord(); 2231 green_recording->Rerecord();
2227 scoped_refptr<FakePicturePileImpl> green_pile = 2232 scoped_refptr<FakeDisplayListRasterSource> green_raster_source =
2228 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr); 2233 FakeDisplayListRasterSource::CreateFromRecordingSource(
2234 green_recording.get(), false);
2229 2235
2230 gfx::Transform green_quad_to_target_transform; 2236 gfx::Transform green_quad_to_target_transform;
2231 SharedQuadState* green_shared_state = CreateTestSharedQuadState( 2237 SharedQuadState* green_shared_state = CreateTestSharedQuadState(
2232 green_quad_to_target_transform, viewport, pass.get()); 2238 green_quad_to_target_transform, viewport, pass.get());
2233 2239
2234 PictureDrawQuad* green_quad = 2240 PictureDrawQuad* green_quad =
2235 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2241 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2236 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, 2242 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport,
2237 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(), 2243 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(),
2238 nearest_neighbor, texture_format, viewport, 1.f, 2244 nearest_neighbor, texture_format, viewport, 1.f,
2239 green_pile.get()); 2245 green_raster_source.get());
danakj 2015/09/22 21:52:14 dittos
vmpstr 2015/09/22 22:57:49 Changed to Pass.
2240 2246
2241 RenderPassList pass_list; 2247 RenderPassList pass_list;
2242 pass_list.push_back(pass.Pass()); 2248 pass_list.push_back(pass.Pass());
2243 2249
2244 EXPECT_TRUE(this->RunPixelTest( 2250 EXPECT_TRUE(this->RunPixelTest(
2245 &pass_list, 2251 &pass_list,
2246 base::FilePath(FILE_PATH_LITERAL("green_with_blue_corner.png")), 2252 base::FilePath(FILE_PATH_LITERAL("green_with_blue_corner.png")),
2247 ExactPixelComparator(true))); 2253 ExactPixelComparator(true)));
2248 } 2254 }
2249 2255
2250 // Not WithSkiaGPUBackend since that path currently requires tiles for opacity. 2256 // Not WithSkiaGPUBackend since that path currently requires tiles for opacity.
2251 TYPED_TEST(SoftwareRendererPixelTest, PictureDrawQuadOpacity) { 2257 TYPED_TEST(SoftwareRendererPixelTest, PictureDrawQuadOpacity) {
2252 gfx::Size pile_tile_size(1000, 1000);
2253 gfx::Rect viewport(this->device_viewport_size_); 2258 gfx::Rect viewport(this->device_viewport_size_);
2254 ResourceFormat texture_format = RGBA_8888; 2259 ResourceFormat texture_format = RGBA_8888;
2255 bool nearest_neighbor = false; 2260 bool nearest_neighbor = false;
2256 2261
2257 RenderPassId id(1, 1); 2262 RenderPassId id(1, 1);
2258 gfx::Transform transform_to_root; 2263 gfx::Transform transform_to_root;
2259 scoped_ptr<RenderPass> pass = 2264 scoped_ptr<RenderPass> pass =
2260 CreateTestRenderPass(id, viewport, transform_to_root); 2265 CreateTestRenderPass(id, viewport, transform_to_root);
2261 2266
2262 // One viewport-filling 0.5-opacity green quad. 2267 // One viewport-filling 0.5-opacity green quad.
2263 scoped_ptr<FakePicturePile> green_recording = 2268 scoped_ptr<FakeDisplayListRecordingSource> green_recording =
2264 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); 2269 FakeDisplayListRecordingSource::CreateFilledRecordingSource(
2270 viewport.size());
2265 SkPaint green_paint; 2271 SkPaint green_paint;
2266 green_paint.setColor(SK_ColorGREEN); 2272 green_paint.setColor(SK_ColorGREEN);
2267 green_recording->add_draw_rect_with_paint(viewport, green_paint); 2273 green_recording->add_draw_rect_with_paint(viewport, green_paint);
2268 green_recording->Rerecord(); 2274 green_recording->Rerecord();
2269 scoped_refptr<FakePicturePileImpl> green_pile = 2275 scoped_refptr<FakeDisplayListRasterSource> green_raster_source =
2270 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr); 2276 FakeDisplayListRasterSource::CreateFromRecordingSource(
2277 green_recording.get(), false);
2271 2278
2272 gfx::Transform green_quad_to_target_transform; 2279 gfx::Transform green_quad_to_target_transform;
2273 SharedQuadState* green_shared_state = CreateTestSharedQuadState( 2280 SharedQuadState* green_shared_state = CreateTestSharedQuadState(
2274 green_quad_to_target_transform, viewport, pass.get()); 2281 green_quad_to_target_transform, viewport, pass.get());
2275 green_shared_state->opacity = 0.5f; 2282 green_shared_state->opacity = 0.5f;
2276 2283
2277 PictureDrawQuad* green_quad = 2284 PictureDrawQuad* green_quad =
2278 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2285 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2279 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, 2286 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport,
2280 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, 2287 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor,
2281 texture_format, viewport, 1.f, green_pile.get()); 2288 texture_format, viewport, 1.f, green_raster_source.get());
2282 2289
2283 // One viewport-filling white quad. 2290 // One viewport-filling white quad.
2284 scoped_ptr<FakePicturePile> white_recording = 2291 scoped_ptr<FakeDisplayListRecordingSource> white_recording =
2285 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); 2292 FakeDisplayListRecordingSource::CreateFilledRecordingSource(
2293 viewport.size());
2286 SkPaint white_paint; 2294 SkPaint white_paint;
2287 white_paint.setColor(SK_ColorWHITE); 2295 white_paint.setColor(SK_ColorWHITE);
2288 white_recording->add_draw_rect_with_paint(viewport, white_paint); 2296 white_recording->add_draw_rect_with_paint(viewport, white_paint);
2289 white_recording->Rerecord(); 2297 white_recording->Rerecord();
2290 scoped_refptr<FakePicturePileImpl> white_pile = 2298 scoped_refptr<FakeDisplayListRasterSource> white_raster_source =
2291 FakePicturePileImpl::CreateFromPile(white_recording.get(), nullptr); 2299 FakeDisplayListRasterSource::CreateFromRecordingSource(
2300 white_recording.get(), false);
2292 2301
2293 gfx::Transform white_quad_to_target_transform; 2302 gfx::Transform white_quad_to_target_transform;
2294 SharedQuadState* white_shared_state = CreateTestSharedQuadState( 2303 SharedQuadState* white_shared_state = CreateTestSharedQuadState(
2295 white_quad_to_target_transform, viewport, pass.get()); 2304 white_quad_to_target_transform, viewport, pass.get());
2296 2305
2297 PictureDrawQuad* white_quad = 2306 PictureDrawQuad* white_quad =
2298 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2307 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2299 white_quad->SetNew(white_shared_state, viewport, gfx::Rect(), viewport, 2308 white_quad->SetNew(white_shared_state, viewport, gfx::Rect(), viewport,
2300 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, 2309 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor,
2301 texture_format, viewport, 1.f, white_pile.get()); 2310 texture_format, viewport, 1.f, white_raster_source.get());
danakj 2015/09/22 21:52:15 dittos
vmpstr 2015/09/22 22:57:49 Changed to Pass.
2302 2311
2303 RenderPassList pass_list; 2312 RenderPassList pass_list;
2304 pass_list.push_back(pass.Pass()); 2313 pass_list.push_back(pass.Pass());
2305 2314
2306 EXPECT_TRUE(this->RunPixelTest( 2315 EXPECT_TRUE(this->RunPixelTest(
2307 &pass_list, 2316 &pass_list,
2308 base::FilePath(FILE_PATH_LITERAL("green_alpha.png")), 2317 base::FilePath(FILE_PATH_LITERAL("green_alpha.png")),
2309 FuzzyPixelOffByOneComparator(true))); 2318 FuzzyPixelOffByOneComparator(true)));
2310 } 2319 }
2311 2320
(...skipping 12 matching lines...) Expand all
2324 } 2333 }
2325 2334
2326 // If we disable image filtering, then a 2x2 bitmap should appear as four 2335 // If we disable image filtering, then a 2x2 bitmap should appear as four
2327 // huge sharp squares. 2336 // huge sharp squares.
2328 TYPED_TEST(SoftwareRendererPixelTest, PictureDrawQuadDisableImageFiltering) { 2337 TYPED_TEST(SoftwareRendererPixelTest, PictureDrawQuadDisableImageFiltering) {
2329 // We only care about this in software mode since bilinear filtering is 2338 // We only care about this in software mode since bilinear filtering is
2330 // cheap in hardware. 2339 // cheap in hardware.
2331 if (!IsSoftwareRenderer<TypeParam>()) 2340 if (!IsSoftwareRenderer<TypeParam>())
2332 return; 2341 return;
2333 2342
2334 gfx::Size pile_tile_size(1000, 1000);
2335 gfx::Rect viewport(this->device_viewport_size_); 2343 gfx::Rect viewport(this->device_viewport_size_);
2336 ResourceFormat texture_format = RGBA_8888; 2344 ResourceFormat texture_format = RGBA_8888;
2337 bool nearest_neighbor = false; 2345 bool nearest_neighbor = false;
2338 2346
2339 RenderPassId id(1, 1); 2347 RenderPassId id(1, 1);
2340 gfx::Transform transform_to_root; 2348 gfx::Transform transform_to_root;
2341 scoped_ptr<RenderPass> pass = 2349 scoped_ptr<RenderPass> pass =
2342 CreateTestRenderPass(id, viewport, transform_to_root); 2350 CreateTestRenderPass(id, viewport, transform_to_root);
2343 2351
2344 skia::RefPtr<SkSurface> surface = 2352 skia::RefPtr<SkSurface> surface =
2345 skia::AdoptRef(SkSurface::NewRasterN32Premul(2, 2)); 2353 skia::AdoptRef(SkSurface::NewRasterN32Premul(2, 2));
2346 ASSERT_NE(surface, nullptr); 2354 ASSERT_NE(surface, nullptr);
2347 SkCanvas* canvas = surface->getCanvas(); 2355 SkCanvas* canvas = surface->getCanvas();
2348 canvas->drawPoint(0, 0, SK_ColorGREEN); 2356 canvas->drawPoint(0, 0, SK_ColorGREEN);
2349 canvas->drawPoint(0, 1, SK_ColorBLUE); 2357 canvas->drawPoint(0, 1, SK_ColorBLUE);
2350 canvas->drawPoint(1, 0, SK_ColorBLUE); 2358 canvas->drawPoint(1, 0, SK_ColorBLUE);
2351 canvas->drawPoint(1, 1, SK_ColorGREEN); 2359 canvas->drawPoint(1, 1, SK_ColorGREEN);
2352 skia::RefPtr<SkImage> image = skia::AdoptRef(surface->newImageSnapshot()); 2360 skia::RefPtr<SkImage> image = skia::AdoptRef(surface->newImageSnapshot());
2353 2361
2354 scoped_ptr<FakePicturePile> recording = 2362 scoped_ptr<FakeDisplayListRecordingSource> recording =
2355 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); 2363 FakeDisplayListRecordingSource::CreateFilledRecordingSource(
2364 viewport.size());
2356 SkPaint paint; 2365 SkPaint paint;
2357 paint.setFilterQuality(kLow_SkFilterQuality); 2366 paint.setFilterQuality(kLow_SkFilterQuality);
2358 recording->add_draw_image_with_paint(image.get(), gfx::Point(), paint); 2367 recording->add_draw_image_with_paint(image.get(), gfx::Point(), paint);
2359 recording->Rerecord(); 2368 recording->Rerecord();
2360 scoped_refptr<FakePicturePileImpl> pile = 2369 scoped_refptr<FakeDisplayListRasterSource> raster_source =
2361 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr); 2370 FakeDisplayListRasterSource::CreateFromRecordingSource(recording.get(),
2371 false);
2362 2372
2363 gfx::Transform quad_to_target_transform; 2373 gfx::Transform quad_to_target_transform;
2364 SharedQuadState* shared_state = 2374 SharedQuadState* shared_state =
2365 CreateTestSharedQuadState(quad_to_target_transform, viewport, pass.get()); 2375 CreateTestSharedQuadState(quad_to_target_transform, viewport, pass.get());
2366 2376
2367 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2377 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2368 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport, 2378 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport,
2369 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor, 2379 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor,
2370 texture_format, viewport, 1.f, pile.get()); 2380 texture_format, viewport, 1.f, raster_source.get());
danakj 2015/09/22 21:52:15 more dittos..
vmpstr 2015/09/22 22:57:49 Changed to Pass.
2371 2381
2372 RenderPassList pass_list; 2382 RenderPassList pass_list;
2373 pass_list.push_back(pass.Pass()); 2383 pass_list.push_back(pass.Pass());
2374 2384
2375 this->disable_picture_quad_image_filtering_ = true; 2385 this->disable_picture_quad_image_filtering_ = true;
2376 2386
2377 EXPECT_TRUE(this->RunPixelTest( 2387 EXPECT_TRUE(this->RunPixelTest(
2378 &pass_list, 2388 &pass_list,
2379 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")), 2389 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")),
2380 ExactPixelComparator(true))); 2390 ExactPixelComparator(true)));
2381 } 2391 }
2382 2392
2383 // This disables filtering by setting |nearest_neighbor| on the PictureDrawQuad. 2393 // This disables filtering by setting |nearest_neighbor| on the PictureDrawQuad.
2384 TYPED_TEST(SoftwareRendererPixelTest, PictureDrawQuadNearestNeighbor) { 2394 TYPED_TEST(SoftwareRendererPixelTest, PictureDrawQuadNearestNeighbor) {
2385 gfx::Size pile_tile_size(1000, 1000);
2386 gfx::Rect viewport(this->device_viewport_size_); 2395 gfx::Rect viewport(this->device_viewport_size_);
2387 ResourceFormat texture_format = RGBA_8888; 2396 ResourceFormat texture_format = RGBA_8888;
2388 bool nearest_neighbor = true; 2397 bool nearest_neighbor = true;
2389 2398
2390 RenderPassId id(1, 1); 2399 RenderPassId id(1, 1);
2391 gfx::Transform transform_to_root; 2400 gfx::Transform transform_to_root;
2392 scoped_ptr<RenderPass> pass = 2401 scoped_ptr<RenderPass> pass =
2393 CreateTestRenderPass(id, viewport, transform_to_root); 2402 CreateTestRenderPass(id, viewport, transform_to_root);
2394 2403
2395 skia::RefPtr<SkSurface> surface = 2404 skia::RefPtr<SkSurface> surface =
2396 skia::AdoptRef(SkSurface::NewRasterN32Premul(2, 2)); 2405 skia::AdoptRef(SkSurface::NewRasterN32Premul(2, 2));
2397 ASSERT_NE(surface, nullptr); 2406 ASSERT_NE(surface, nullptr);
2398 SkCanvas* canvas = surface->getCanvas(); 2407 SkCanvas* canvas = surface->getCanvas();
2399 canvas->drawPoint(0, 0, SK_ColorGREEN); 2408 canvas->drawPoint(0, 0, SK_ColorGREEN);
2400 canvas->drawPoint(0, 1, SK_ColorBLUE); 2409 canvas->drawPoint(0, 1, SK_ColorBLUE);
2401 canvas->drawPoint(1, 0, SK_ColorBLUE); 2410 canvas->drawPoint(1, 0, SK_ColorBLUE);
2402 canvas->drawPoint(1, 1, SK_ColorGREEN); 2411 canvas->drawPoint(1, 1, SK_ColorGREEN);
2403 skia::RefPtr<SkImage> image = skia::AdoptRef(surface->newImageSnapshot()); 2412 skia::RefPtr<SkImage> image = skia::AdoptRef(surface->newImageSnapshot());
2404 2413
2405 scoped_ptr<FakePicturePile> recording = 2414 scoped_ptr<FakeDisplayListRecordingSource> recording =
2406 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); 2415 FakeDisplayListRecordingSource::CreateFilledRecordingSource(
2416 viewport.size());
2407 SkPaint paint; 2417 SkPaint paint;
2408 paint.setFilterQuality(kLow_SkFilterQuality); 2418 paint.setFilterQuality(kLow_SkFilterQuality);
2409 recording->add_draw_image_with_paint(image.get(), gfx::Point(), paint); 2419 recording->add_draw_image_with_paint(image.get(), gfx::Point(), paint);
2410 recording->Rerecord(); 2420 recording->Rerecord();
2411 scoped_refptr<FakePicturePileImpl> pile = 2421 scoped_refptr<FakeDisplayListRasterSource> raster_source =
2412 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr); 2422 FakeDisplayListRasterSource::CreateFromRecordingSource(recording.get(),
2423 false);
2413 2424
2414 gfx::Transform quad_to_target_transform; 2425 gfx::Transform quad_to_target_transform;
2415 SharedQuadState* shared_state = 2426 SharedQuadState* shared_state =
2416 CreateTestSharedQuadState(quad_to_target_transform, viewport, pass.get()); 2427 CreateTestSharedQuadState(quad_to_target_transform, viewport, pass.get());
2417 2428
2418 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2429 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2419 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport, 2430 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport,
2420 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor, 2431 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor,
2421 texture_format, viewport, 1.f, pile.get()); 2432 texture_format, viewport, 1.f, raster_source.get());
danakj 2015/09/22 21:52:15 D:
vmpstr 2015/09/22 22:57:49 Changed to Pass.
2422 2433
2423 RenderPassList pass_list; 2434 RenderPassList pass_list;
2424 pass_list.push_back(pass.Pass()); 2435 pass_list.push_back(pass.Pass());
2425 2436
2426 EXPECT_TRUE(this->RunPixelTest( 2437 EXPECT_TRUE(this->RunPixelTest(
2427 &pass_list, 2438 &pass_list,
2428 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")), 2439 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers.png")),
2429 ExactPixelComparator(true))); 2440 ExactPixelComparator(true)));
2430 } 2441 }
2431 2442
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
2580 2591
2581 // Allow for a small amount of error as the blending alogrithm used by Skia is 2592 // Allow for a small amount of error as the blending alogrithm used by Skia is
2582 // affected by the offset in the expanded rect. 2593 // affected by the offset in the expanded rect.
2583 EXPECT_TRUE(this->RunPixelTest( 2594 EXPECT_TRUE(this->RunPixelTest(
2584 &pass_list, 2595 &pass_list,
2585 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers_linear.png")), 2596 base::FilePath(FILE_PATH_LITERAL("four_blue_green_checkers_linear.png")),
2586 FuzzyPixelComparator(false, 100.f, 0.f, 16.f, 16.f, 0.f))); 2597 FuzzyPixelComparator(false, 100.f, 0.f, 16.f, 16.f, 0.f)));
2587 } 2598 }
2588 2599
2589 TYPED_TEST(SoftwareRendererPixelTest, PictureDrawQuadNonIdentityScale) { 2600 TYPED_TEST(SoftwareRendererPixelTest, PictureDrawQuadNonIdentityScale) {
2590 gfx::Size pile_tile_size(1000, 1000);
2591 gfx::Rect viewport(this->device_viewport_size_); 2601 gfx::Rect viewport(this->device_viewport_size_);
2592 // TODO(enne): the renderer should figure this out on its own. 2602 // TODO(enne): the renderer should figure this out on its own.
2593 ResourceFormat texture_format = RGBA_8888; 2603 ResourceFormat texture_format = RGBA_8888;
2594 bool nearest_neighbor = false; 2604 bool nearest_neighbor = false;
2595 2605
2596 RenderPassId id(1, 1); 2606 RenderPassId id(1, 1);
2597 gfx::Transform transform_to_root; 2607 gfx::Transform transform_to_root;
2598 scoped_ptr<RenderPass> pass = 2608 scoped_ptr<RenderPass> pass =
2599 CreateTestRenderPass(id, viewport, transform_to_root); 2609 CreateTestRenderPass(id, viewport, transform_to_root);
2600 2610
2601 // As scaling up the blue checkerboards will cause sampling on the GPU, 2611 // As scaling up the blue checkerboards will cause sampling on the GPU,
2602 // a few extra "cleanup rects" need to be added to clobber the blending 2612 // a few extra "cleanup rects" need to be added to clobber the blending
2603 // to make the output image more clean. This will also test subrects 2613 // to make the output image more clean. This will also test subrects
2604 // of the layer. 2614 // of the layer.
2605 gfx::Transform green_quad_to_target_transform; 2615 gfx::Transform green_quad_to_target_transform;
2606 gfx::Rect green_rect1(gfx::Point(80, 0), gfx::Size(20, 100)); 2616 gfx::Rect green_rect1(gfx::Point(80, 0), gfx::Size(20, 100));
2607 gfx::Rect green_rect2(gfx::Point(0, 80), gfx::Size(100, 20)); 2617 gfx::Rect green_rect2(gfx::Point(0, 80), gfx::Size(100, 20));
2608 2618
2609 scoped_ptr<FakePicturePile> green_recording = 2619 scoped_ptr<FakeDisplayListRecordingSource> green_recording =
2610 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); 2620 FakeDisplayListRecordingSource::CreateFilledRecordingSource(
2621 viewport.size());
2611 2622
2612 SkPaint red_paint; 2623 SkPaint red_paint;
2613 red_paint.setColor(SK_ColorRED); 2624 red_paint.setColor(SK_ColorRED);
2614 green_recording->add_draw_rect_with_paint(viewport, red_paint); 2625 green_recording->add_draw_rect_with_paint(viewport, red_paint);
2615 SkPaint green_paint; 2626 SkPaint green_paint;
2616 green_paint.setColor(SK_ColorGREEN); 2627 green_paint.setColor(SK_ColorGREEN);
2617 green_recording->add_draw_rect_with_paint(green_rect1, green_paint); 2628 green_recording->add_draw_rect_with_paint(green_rect1, green_paint);
2618 green_recording->add_draw_rect_with_paint(green_rect2, green_paint); 2629 green_recording->add_draw_rect_with_paint(green_rect2, green_paint);
2619 green_recording->Rerecord(); 2630 green_recording->Rerecord();
2620 scoped_refptr<FakePicturePileImpl> green_pile = 2631 scoped_refptr<FakeDisplayListRasterSource> green_raster_source =
2621 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr); 2632 FakeDisplayListRasterSource::CreateFromRecordingSource(
2633 green_recording.get(), false);
2622 2634
2623 SharedQuadState* top_right_green_shared_quad_state = 2635 SharedQuadState* top_right_green_shared_quad_state =
2624 CreateTestSharedQuadState(green_quad_to_target_transform, viewport, 2636 CreateTestSharedQuadState(green_quad_to_target_transform, viewport,
2625 pass.get()); 2637 pass.get());
2626 2638
2627 PictureDrawQuad* green_quad1 = 2639 PictureDrawQuad* green_quad1 =
2628 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2640 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2629 green_quad1->SetNew(top_right_green_shared_quad_state, green_rect1, 2641 green_quad1->SetNew(top_right_green_shared_quad_state, green_rect1,
2630 gfx::Rect(), green_rect1, gfx::RectF(green_rect1.size()), 2642 gfx::Rect(), green_rect1, gfx::RectF(green_rect1.size()),
2631 green_rect1.size(), nearest_neighbor, texture_format, 2643 green_rect1.size(), nearest_neighbor, texture_format,
2632 green_rect1, 1.f, green_pile.get()); 2644 green_rect1, 1.f, green_raster_source.get());
danakj 2015/09/22 21:52:15 ...
vmpstr 2015/09/22 22:57:49 Removed .get()
2633 2645
2634 PictureDrawQuad* green_quad2 = 2646 PictureDrawQuad* green_quad2 =
2635 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2647 pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2636 green_quad2->SetNew(top_right_green_shared_quad_state, green_rect2, 2648 green_quad2->SetNew(top_right_green_shared_quad_state, green_rect2,
2637 gfx::Rect(), green_rect2, gfx::RectF(green_rect2.size()), 2649 gfx::Rect(), green_rect2, gfx::RectF(green_rect2.size()),
2638 green_rect2.size(), nearest_neighbor, texture_format, 2650 green_rect2.size(), nearest_neighbor, texture_format,
2639 green_rect2, 1.f, green_pile.get()); 2651 green_rect2, 1.f, green_raster_source.get());
danakj 2015/09/22 21:52:15 silly turn refptr into raw pointer into refptr..
vmpstr 2015/09/22 22:57:49 Changed to Pass.
2640 2652
2641 // Add a green clipped checkerboard in the bottom right to help test 2653 // Add a green clipped checkerboard in the bottom right to help test
2642 // interleaving picture quad content and solid color content. 2654 // interleaving picture quad content and solid color content.
2643 gfx::Rect bottom_right_rect( 2655 gfx::Rect bottom_right_rect(
2644 gfx::Point(viewport.width() / 2, viewport.height() / 2), 2656 gfx::Point(viewport.width() / 2, viewport.height() / 2),
2645 gfx::Size(viewport.width() / 2, viewport.height() / 2)); 2657 gfx::Size(viewport.width() / 2, viewport.height() / 2));
2646 SharedQuadState* bottom_right_green_shared_state = 2658 SharedQuadState* bottom_right_green_shared_state =
2647 CreateTestSharedQuadStateClipped(green_quad_to_target_transform, viewport, 2659 CreateTestSharedQuadStateClipped(green_quad_to_target_transform, viewport,
2648 bottom_right_rect, pass.get()); 2660 bottom_right_rect, pass.get());
2649 SolidColorDrawQuad* bottom_right_color_quad = 2661 SolidColorDrawQuad* bottom_right_color_quad =
(...skipping 14 matching lines...) Expand all
2664 gfx::RectF blue_layer_rect2(gfx::PointF(8.0f, 6.5f), gfx::SizeF(2.5f, 2.5f)); 2676 gfx::RectF blue_layer_rect2(gfx::PointF(8.0f, 6.5f), gfx::SizeF(2.5f, 2.5f));
2665 gfx::RectF union_layer_rect = blue_layer_rect1; 2677 gfx::RectF union_layer_rect = blue_layer_rect1;
2666 union_layer_rect.Union(blue_layer_rect2); 2678 union_layer_rect.Union(blue_layer_rect2);
2667 2679
2668 // Because scaling up will cause sampling outside the rects, add one extra 2680 // Because scaling up will cause sampling outside the rects, add one extra
2669 // pixel of buffer at the final content scale. 2681 // pixel of buffer at the final content scale.
2670 float inset = -1.f / contents_scale; 2682 float inset = -1.f / contents_scale;
2671 blue_layer_rect1.Inset(inset, inset, inset, inset); 2683 blue_layer_rect1.Inset(inset, inset, inset, inset);
2672 blue_layer_rect2.Inset(inset, inset, inset, inset); 2684 blue_layer_rect2.Inset(inset, inset, inset, inset);
2673 2685
2674 scoped_ptr<FakePicturePile> recording = 2686 scoped_ptr<FakeDisplayListRecordingSource> recording =
2675 FakePicturePile::CreateFilledPile(pile_tile_size, layer_rect.size()); 2687 FakeDisplayListRecordingSource::CreateFilledRecordingSource(
2688 layer_rect.size());
2676 2689
2677 Region outside(layer_rect); 2690 Region outside(layer_rect);
2678 outside.Subtract(gfx::ToEnclosingRect(union_layer_rect)); 2691 outside.Subtract(gfx::ToEnclosingRect(union_layer_rect));
2679 for (Region::Iterator iter(outside); iter.has_rect(); iter.next()) { 2692 for (Region::Iterator iter(outside); iter.has_rect(); iter.next()) {
2680 recording->add_draw_rect_with_paint(iter.rect(), red_paint); 2693 recording->add_draw_rect_with_paint(iter.rect(), red_paint);
2681 } 2694 }
2682 2695
2683 SkPaint blue_paint; 2696 SkPaint blue_paint;
2684 blue_paint.setColor(SK_ColorBLUE); 2697 blue_paint.setColor(SK_ColorBLUE);
2685 recording->add_draw_rectf_with_paint(blue_layer_rect1, blue_paint); 2698 recording->add_draw_rectf_with_paint(blue_layer_rect1, blue_paint);
2686 recording->add_draw_rectf_with_paint(blue_layer_rect2, blue_paint); 2699 recording->add_draw_rectf_with_paint(blue_layer_rect2, blue_paint);
2687 recording->Rerecord(); 2700 recording->Rerecord();
2688 scoped_refptr<FakePicturePileImpl> pile = 2701 scoped_refptr<FakeDisplayListRasterSource> raster_source =
2689 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr); 2702 FakeDisplayListRasterSource::CreateFromRecordingSource(recording.get(),
2703 false);
2690 2704
2691 gfx::Rect content_rect( 2705 gfx::Rect content_rect(
2692 gfx::ScaleToEnclosingRect(layer_rect, contents_scale)); 2706 gfx::ScaleToEnclosingRect(layer_rect, contents_scale));
2693 gfx::Rect content_union_rect( 2707 gfx::Rect content_union_rect(
2694 gfx::ToEnclosingRect(gfx::ScaleRect(union_layer_rect, contents_scale))); 2708 gfx::ToEnclosingRect(gfx::ScaleRect(union_layer_rect, contents_scale)));
2695 2709
2696 // At a scale of 4x the rectangles with a width of 2.5 will take up 10 pixels, 2710 // At a scale of 4x the rectangles with a width of 2.5 will take up 10 pixels,
2697 // so scale an additional 10x to make them 100x100. 2711 // so scale an additional 10x to make them 100x100.
2698 gfx::Transform quad_to_target_transform; 2712 gfx::Transform quad_to_target_transform;
2699 quad_to_target_transform.Scale(10.0, 10.0); 2713 quad_to_target_transform.Scale(10.0, 10.0);
2700 gfx::Rect quad_content_rect(gfx::Size(20, 20)); 2714 gfx::Rect quad_content_rect(gfx::Size(20, 20));
2701 SharedQuadState* blue_shared_state = CreateTestSharedQuadState( 2715 SharedQuadState* blue_shared_state = CreateTestSharedQuadState(
2702 quad_to_target_transform, quad_content_rect, pass.get()); 2716 quad_to_target_transform, quad_content_rect, pass.get());
2703 2717
2704 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2718 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2705 blue_quad->SetNew(blue_shared_state, quad_content_rect, gfx::Rect(), 2719 blue_quad->SetNew(blue_shared_state, quad_content_rect, gfx::Rect(),
2706 quad_content_rect, gfx::RectF(quad_content_rect), 2720 quad_content_rect, gfx::RectF(quad_content_rect),
2707 content_union_rect.size(), nearest_neighbor, texture_format, 2721 content_union_rect.size(), nearest_neighbor, texture_format,
2708 content_union_rect, contents_scale, pile.get()); 2722 content_union_rect, contents_scale, raster_source.get());
danakj 2015/09/22 21:52:15 but it sure is popular.. btw, you could also Pass
vmpstr 2015/09/22 22:57:49 Changed to Pass.
2709 2723
2710 // Fill left half of viewport with green. 2724 // Fill left half of viewport with green.
2711 gfx::Transform half_green_quad_to_target_transform; 2725 gfx::Transform half_green_quad_to_target_transform;
2712 gfx::Rect half_green_rect(gfx::Size(viewport.width() / 2, viewport.height())); 2726 gfx::Rect half_green_rect(gfx::Size(viewport.width() / 2, viewport.height()));
2713 SharedQuadState* half_green_shared_state = CreateTestSharedQuadState( 2727 SharedQuadState* half_green_shared_state = CreateTestSharedQuadState(
2714 half_green_quad_to_target_transform, half_green_rect, pass.get()); 2728 half_green_quad_to_target_transform, half_green_rect, pass.get());
2715 SolidColorDrawQuad* half_color_quad = 2729 SolidColorDrawQuad* half_color_quad =
2716 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 2730 pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
2717 half_color_quad->SetNew(half_green_shared_state, 2731 half_color_quad->SetNew(half_green_shared_state,
2718 half_green_rect, 2732 half_green_rect,
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
2934 EXPECT_TRUE(this->RunPixelTest( 2948 EXPECT_TRUE(this->RunPixelTest(
2935 &pass_list, 2949 &pass_list,
2936 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), 2950 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")),
2937 FuzzyPixelOffByOneComparator(true))); 2951 FuzzyPixelOffByOneComparator(true)));
2938 } 2952 }
2939 2953
2940 #endif // !defined(OS_ANDROID) 2954 #endif // !defined(OS_ANDROID)
2941 2955
2942 } // namespace 2956 } // namespace
2943 } // namespace cc 2957 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698