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

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

Issue 1900953004: Switch DrawImage to sk_sp<> (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Florin's nit Created 4 years, 8 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 <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 7
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "cc/output/gl_renderer.h" 9 #include "cc/output/gl_renderer.h"
10 #include "cc/quads/draw_quad.h" 10 #include "cc/quads/draw_quad.h"
11 #include "cc/quads/picture_draw_quad.h" 11 #include "cc/quads/picture_draw_quad.h"
12 #include "cc/quads/texture_draw_quad.h" 12 #include "cc/quads/texture_draw_quad.h"
13 #include "cc/resources/video_resource_updater.h" 13 #include "cc/resources/video_resource_updater.h"
14 #include "cc/test/fake_raster_source.h" 14 #include "cc/test/fake_raster_source.h"
15 #include "cc/test/fake_recording_source.h" 15 #include "cc/test/fake_recording_source.h"
16 #include "cc/test/pixel_test.h" 16 #include "cc/test/pixel_test.h"
17 #include "gpu/command_buffer/client/gles2_interface.h" 17 #include "gpu/command_buffer/client/gles2_interface.h"
18 #include "media/base/video_frame.h" 18 #include "media/base/video_frame.h"
19 #include "third_party/skia/include/core/SkColorPriv.h" 19 #include "third_party/skia/include/core/SkColorPriv.h"
20 #include "third_party/skia/include/core/SkImageFilter.h" 20 #include "third_party/skia/include/core/SkImageFilter.h"
21 #include "third_party/skia/include/core/SkMatrix.h" 21 #include "third_party/skia/include/core/SkMatrix.h"
22 #include "third_party/skia/include/core/SkRefCnt.h"
22 #include "third_party/skia/include/core/SkSurface.h" 23 #include "third_party/skia/include/core/SkSurface.h"
23 #include "third_party/skia/include/effects/SkColorFilterImageFilter.h" 24 #include "third_party/skia/include/effects/SkColorFilterImageFilter.h"
24 #include "third_party/skia/include/effects/SkColorMatrixFilter.h" 25 #include "third_party/skia/include/effects/SkColorMatrixFilter.h"
25 #include "ui/gfx/geometry/rect_conversions.h" 26 #include "ui/gfx/geometry/rect_conversions.h"
26 27
27 using gpu::gles2::GLES2Interface; 28 using gpu::gles2::GLES2Interface;
28 29
29 namespace cc { 30 namespace cc {
30 namespace { 31 namespace {
31 32
(...skipping 2530 matching lines...) Expand 10 before | Expand all | Expand 10 after
2562 std::unique_ptr<RenderPass> pass = 2563 std::unique_ptr<RenderPass> pass =
2563 CreateTestRenderPass(id, viewport, transform_to_root); 2564 CreateTestRenderPass(id, viewport, transform_to_root);
2564 2565
2565 sk_sp<SkSurface> surface = SkSurface::MakeRasterN32Premul(2, 2); 2566 sk_sp<SkSurface> surface = SkSurface::MakeRasterN32Premul(2, 2);
2566 ASSERT_NE(surface, nullptr); 2567 ASSERT_NE(surface, nullptr);
2567 SkCanvas* canvas = surface->getCanvas(); 2568 SkCanvas* canvas = surface->getCanvas();
2568 canvas->drawPoint(0, 0, SK_ColorGREEN); 2569 canvas->drawPoint(0, 0, SK_ColorGREEN);
2569 canvas->drawPoint(0, 1, SK_ColorBLUE); 2570 canvas->drawPoint(0, 1, SK_ColorBLUE);
2570 canvas->drawPoint(1, 0, SK_ColorBLUE); 2571 canvas->drawPoint(1, 0, SK_ColorBLUE);
2571 canvas->drawPoint(1, 1, SK_ColorGREEN); 2572 canvas->drawPoint(1, 1, SK_ColorGREEN);
2572 skia::RefPtr<SkImage> image = skia::AdoptRef(surface->newImageSnapshot());
2573 2573
2574 std::unique_ptr<FakeRecordingSource> recording = 2574 std::unique_ptr<FakeRecordingSource> recording =
2575 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); 2575 FakeRecordingSource::CreateFilledRecordingSource(viewport.size());
2576 SkPaint paint; 2576 SkPaint paint;
2577 paint.setFilterQuality(kLow_SkFilterQuality); 2577 paint.setFilterQuality(kLow_SkFilterQuality);
2578 recording->add_draw_image_with_paint(image.get(), gfx::Point(), paint); 2578 recording->add_draw_image_with_paint(surface->makeImageSnapshot(),
2579 gfx::Point(), paint);
2579 recording->Rerecord(); 2580 recording->Rerecord();
2580 scoped_refptr<FakeRasterSource> raster_source = 2581 scoped_refptr<FakeRasterSource> raster_source =
2581 FakeRasterSource::CreateFromRecordingSource(recording.get(), false); 2582 FakeRasterSource::CreateFromRecordingSource(recording.get(), false);
2582 2583
2583 gfx::Transform quad_to_target_transform; 2584 gfx::Transform quad_to_target_transform;
2584 SharedQuadState* shared_state = 2585 SharedQuadState* shared_state =
2585 CreateTestSharedQuadState(quad_to_target_transform, viewport, pass.get()); 2586 CreateTestSharedQuadState(quad_to_target_transform, viewport, pass.get());
2586 2587
2587 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2588 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2588 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport, 2589 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport,
(...skipping 22 matching lines...) Expand all
2611 std::unique_ptr<RenderPass> pass = 2612 std::unique_ptr<RenderPass> pass =
2612 CreateTestRenderPass(id, viewport, transform_to_root); 2613 CreateTestRenderPass(id, viewport, transform_to_root);
2613 2614
2614 sk_sp<SkSurface> surface = SkSurface::MakeRasterN32Premul(2, 2); 2615 sk_sp<SkSurface> surface = SkSurface::MakeRasterN32Premul(2, 2);
2615 ASSERT_NE(surface, nullptr); 2616 ASSERT_NE(surface, nullptr);
2616 SkCanvas* canvas = surface->getCanvas(); 2617 SkCanvas* canvas = surface->getCanvas();
2617 canvas->drawPoint(0, 0, SK_ColorGREEN); 2618 canvas->drawPoint(0, 0, SK_ColorGREEN);
2618 canvas->drawPoint(0, 1, SK_ColorBLUE); 2619 canvas->drawPoint(0, 1, SK_ColorBLUE);
2619 canvas->drawPoint(1, 0, SK_ColorBLUE); 2620 canvas->drawPoint(1, 0, SK_ColorBLUE);
2620 canvas->drawPoint(1, 1, SK_ColorGREEN); 2621 canvas->drawPoint(1, 1, SK_ColorGREEN);
2621 skia::RefPtr<SkImage> image = skia::AdoptRef(surface->newImageSnapshot());
2622 2622
2623 std::unique_ptr<FakeRecordingSource> recording = 2623 std::unique_ptr<FakeRecordingSource> recording =
2624 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); 2624 FakeRecordingSource::CreateFilledRecordingSource(viewport.size());
2625 SkPaint paint; 2625 SkPaint paint;
2626 paint.setFilterQuality(kLow_SkFilterQuality); 2626 paint.setFilterQuality(kLow_SkFilterQuality);
2627 recording->add_draw_image_with_paint(image.get(), gfx::Point(), paint); 2627 recording->add_draw_image_with_paint(surface->makeImageSnapshot(),
2628 gfx::Point(), paint);
2628 recording->Rerecord(); 2629 recording->Rerecord();
2629 scoped_refptr<FakeRasterSource> raster_source = 2630 scoped_refptr<FakeRasterSource> raster_source =
2630 FakeRasterSource::CreateFromRecordingSource(recording.get(), false); 2631 FakeRasterSource::CreateFromRecordingSource(recording.get(), false);
2631 2632
2632 gfx::Transform quad_to_target_transform; 2633 gfx::Transform quad_to_target_transform;
2633 SharedQuadState* shared_state = 2634 SharedQuadState* shared_state =
2634 CreateTestSharedQuadState(quad_to_target_transform, viewport, pass.get()); 2635 CreateTestSharedQuadState(quad_to_target_transform, viewport, pass.get());
2635 2636
2636 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); 2637 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
2637 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport, 2638 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport,
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
3176 3177
3177 EXPECT_TRUE(this->RunPixelTest( 3178 EXPECT_TRUE(this->RunPixelTest(
3178 &pass_list, base::FilePath(FILE_PATH_LITERAL("spiral.png")), 3179 &pass_list, base::FilePath(FILE_PATH_LITERAL("spiral.png")),
3179 FuzzyPixelOffByOneComparator(true))); 3180 FuzzyPixelOffByOneComparator(true)));
3180 } 3181 }
3181 3182
3182 #endif // !defined(OS_ANDROID) 3183 #endif // !defined(OS_ANDROID)
3183 3184
3184 } // namespace 3185 } // namespace
3185 } // namespace cc 3186 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698