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 <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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |