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

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

Issue 2716013002: don't use deprecated helper methods on SkCanvas (Closed)
Patch Set: Created 3 years, 10 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 #include <memory> 7 #include <memory>
8 8
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "cc/base/math_util.h" 10 #include "cc/base/math_util.h"
(...skipping 2616 matching lines...) Expand 10 before | Expand all | Expand 10 after
2627 template<> 2627 template<>
2628 bool IsSoftwareRenderer<SoftwareRenderer>() { 2628 bool IsSoftwareRenderer<SoftwareRenderer>() {
2629 return true; 2629 return true;
2630 } 2630 }
2631 2631
2632 template<> 2632 template<>
2633 bool IsSoftwareRenderer<SoftwareRendererWithExpandedViewport>() { 2633 bool IsSoftwareRenderer<SoftwareRendererWithExpandedViewport>() {
2634 return true; 2634 return true;
2635 } 2635 }
2636 2636
2637 void draw_point_color(SkCanvas* canvas, SkScalar x, SkScalar y, SkColor color) {
2638 SkPaint paint;
2639 paint.setColor(color);
2640 canvas->drawPoint(x, y, paint);
2641 }
2642
2637 // If we disable image filtering, then a 2x2 bitmap should appear as four 2643 // If we disable image filtering, then a 2x2 bitmap should appear as four
2638 // huge sharp squares. 2644 // huge sharp squares.
2639 TYPED_TEST(SoftwareRendererPixelTest, PictureDrawQuadDisableImageFiltering) { 2645 TYPED_TEST(SoftwareRendererPixelTest, PictureDrawQuadDisableImageFiltering) {
2640 // We only care about this in software mode since bilinear filtering is 2646 // We only care about this in software mode since bilinear filtering is
2641 // cheap in hardware. 2647 // cheap in hardware.
2642 if (!IsSoftwareRenderer<TypeParam>()) 2648 if (!IsSoftwareRenderer<TypeParam>())
2643 return; 2649 return;
2644 2650
2645 gfx::Rect viewport(this->device_viewport_size_); 2651 gfx::Rect viewport(this->device_viewport_size_);
2646 ResourceFormat texture_format = RGBA_8888; 2652 ResourceFormat texture_format = RGBA_8888;
2647 bool nearest_neighbor = false; 2653 bool nearest_neighbor = false;
2648 2654
2649 int id = 1; 2655 int id = 1;
2650 gfx::Transform transform_to_root; 2656 gfx::Transform transform_to_root;
2651 std::unique_ptr<RenderPass> pass = 2657 std::unique_ptr<RenderPass> pass =
2652 CreateTestRenderPass(id, viewport, transform_to_root); 2658 CreateTestRenderPass(id, viewport, transform_to_root);
2653 2659
2654 sk_sp<SkSurface> surface = SkSurface::MakeRasterN32Premul(2, 2); 2660 sk_sp<SkSurface> surface = SkSurface::MakeRasterN32Premul(2, 2);
2655 ASSERT_NE(surface, nullptr); 2661 ASSERT_NE(surface, nullptr);
2656 SkCanvas* canvas = surface->getCanvas(); 2662 SkCanvas* canvas = surface->getCanvas();
2657 canvas->drawPoint(0, 0, SK_ColorGREEN); 2663 draw_point_color(canvas, 0, 0, SK_ColorGREEN);
2658 canvas->drawPoint(0, 1, SK_ColorBLUE); 2664 draw_point_color(canvas, 0, 1, SK_ColorBLUE);
2659 canvas->drawPoint(1, 0, SK_ColorBLUE); 2665 draw_point_color(canvas, 1, 0, SK_ColorBLUE);
2660 canvas->drawPoint(1, 1, SK_ColorGREEN); 2666 draw_point_color(canvas, 1, 1, SK_ColorGREEN);
2661 2667
2662 std::unique_ptr<FakeRecordingSource> recording = 2668 std::unique_ptr<FakeRecordingSource> recording =
2663 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); 2669 FakeRecordingSource::CreateFilledRecordingSource(viewport.size());
2664 PaintFlags flags; 2670 PaintFlags flags;
2665 flags.setFilterQuality(kLow_SkFilterQuality); 2671 flags.setFilterQuality(kLow_SkFilterQuality);
2666 recording->add_draw_image_with_flags(surface->makeImageSnapshot(), 2672 recording->add_draw_image_with_flags(surface->makeImageSnapshot(),
2667 gfx::Point(), flags); 2673 gfx::Point(), flags);
2668 recording->Rerecord(); 2674 recording->Rerecord();
2669 scoped_refptr<FakeRasterSource> raster_source = 2675 scoped_refptr<FakeRasterSource> raster_source =
2670 FakeRasterSource::CreateFromRecordingSource(recording.get(), false); 2676 FakeRasterSource::CreateFromRecordingSource(recording.get(), false);
(...skipping 25 matching lines...) Expand all
2696 bool nearest_neighbor = true; 2702 bool nearest_neighbor = true;
2697 2703
2698 int id = 1; 2704 int id = 1;
2699 gfx::Transform transform_to_root; 2705 gfx::Transform transform_to_root;
2700 std::unique_ptr<RenderPass> pass = 2706 std::unique_ptr<RenderPass> pass =
2701 CreateTestRenderPass(id, viewport, transform_to_root); 2707 CreateTestRenderPass(id, viewport, transform_to_root);
2702 2708
2703 sk_sp<SkSurface> surface = SkSurface::MakeRasterN32Premul(2, 2); 2709 sk_sp<SkSurface> surface = SkSurface::MakeRasterN32Premul(2, 2);
2704 ASSERT_NE(surface, nullptr); 2710 ASSERT_NE(surface, nullptr);
2705 SkCanvas* canvas = surface->getCanvas(); 2711 SkCanvas* canvas = surface->getCanvas();
2706 canvas->drawPoint(0, 0, SK_ColorGREEN); 2712 draw_point_color(canvas, 0, 0, SK_ColorGREEN);
2707 canvas->drawPoint(0, 1, SK_ColorBLUE); 2713 draw_point_color(canvas, 0, 1, SK_ColorBLUE);
2708 canvas->drawPoint(1, 0, SK_ColorBLUE); 2714 draw_point_color(canvas, 1, 0, SK_ColorBLUE);
2709 canvas->drawPoint(1, 1, SK_ColorGREEN); 2715 draw_point_color(canvas, 1, 1, SK_ColorGREEN);
2710 2716
2711 std::unique_ptr<FakeRecordingSource> recording = 2717 std::unique_ptr<FakeRecordingSource> recording =
2712 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); 2718 FakeRecordingSource::CreateFilledRecordingSource(viewport.size());
2713 PaintFlags flags; 2719 PaintFlags flags;
2714 flags.setFilterQuality(kLow_SkFilterQuality); 2720 flags.setFilterQuality(kLow_SkFilterQuality);
2715 recording->add_draw_image_with_flags(surface->makeImageSnapshot(), 2721 recording->add_draw_image_with_flags(surface->makeImageSnapshot(),
2716 gfx::Point(), flags); 2722 gfx::Point(), flags);
2717 recording->Rerecord(); 2723 recording->Rerecord();
2718 scoped_refptr<FakeRasterSource> raster_source = 2724 scoped_refptr<FakeRasterSource> raster_source =
2719 FakeRasterSource::CreateFromRecordingSource(recording.get(), false); 2725 FakeRasterSource::CreateFromRecordingSource(recording.get(), false);
(...skipping 20 matching lines...) Expand all
2740 TYPED_TEST(RendererPixelTest, TileDrawQuadNearestNeighbor) { 2746 TYPED_TEST(RendererPixelTest, TileDrawQuadNearestNeighbor) {
2741 gfx::Rect viewport(this->device_viewport_size_); 2747 gfx::Rect viewport(this->device_viewport_size_);
2742 bool swizzle_contents = true; 2748 bool swizzle_contents = true;
2743 bool nearest_neighbor = true; 2749 bool nearest_neighbor = true;
2744 2750
2745 SkBitmap bitmap; 2751 SkBitmap bitmap;
2746 bitmap.allocN32Pixels(2, 2); 2752 bitmap.allocN32Pixels(2, 2);
2747 { 2753 {
2748 SkAutoLockPixels lock(bitmap); 2754 SkAutoLockPixels lock(bitmap);
2749 SkCanvas canvas(bitmap); 2755 SkCanvas canvas(bitmap);
2750 canvas.drawPoint(0, 0, SK_ColorGREEN); 2756 draw_point_color(&canvas, 0, 0, SK_ColorGREEN);
2751 canvas.drawPoint(0, 1, SK_ColorBLUE); 2757 draw_point_color(&canvas, 0, 1, SK_ColorBLUE);
2752 canvas.drawPoint(1, 0, SK_ColorBLUE); 2758 draw_point_color(&canvas, 1, 0, SK_ColorBLUE);
2753 canvas.drawPoint(1, 1, SK_ColorGREEN); 2759 draw_point_color(&canvas, 1, 1, SK_ColorGREEN);
2754 } 2760 }
2755 2761
2756 gfx::Size tile_size(2, 2); 2762 gfx::Size tile_size(2, 2);
2757 ResourceId resource = this->resource_provider_->CreateResource( 2763 ResourceId resource = this->resource_provider_->CreateResource(
2758 tile_size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, RGBA_8888, 2764 tile_size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, RGBA_8888,
2759 gfx::ColorSpace()); 2765 gfx::ColorSpace());
2760 2766
2761 { 2767 {
2762 SkAutoLockPixels lock(bitmap); 2768 SkAutoLockPixels lock(bitmap);
2763 this->resource_provider_->CopyToResource( 2769 this->resource_provider_->CopyToResource(
(...skipping 27 matching lines...) Expand all
2791 // TextureDrawQuad. 2797 // TextureDrawQuad.
2792 TYPED_TEST(SoftwareRendererPixelTest, TextureDrawQuadNearestNeighbor) { 2798 TYPED_TEST(SoftwareRendererPixelTest, TextureDrawQuadNearestNeighbor) {
2793 gfx::Rect viewport(this->device_viewport_size_); 2799 gfx::Rect viewport(this->device_viewport_size_);
2794 bool nearest_neighbor = true; 2800 bool nearest_neighbor = true;
2795 2801
2796 SkBitmap bitmap; 2802 SkBitmap bitmap;
2797 bitmap.allocN32Pixels(2, 2); 2803 bitmap.allocN32Pixels(2, 2);
2798 { 2804 {
2799 SkAutoLockPixels lock(bitmap); 2805 SkAutoLockPixels lock(bitmap);
2800 SkCanvas canvas(bitmap); 2806 SkCanvas canvas(bitmap);
2801 canvas.drawPoint(0, 0, SK_ColorGREEN); 2807 draw_point_color(&canvas, 0, 0, SK_ColorGREEN);
2802 canvas.drawPoint(0, 1, SK_ColorBLUE); 2808 draw_point_color(&canvas, 0, 1, SK_ColorBLUE);
2803 canvas.drawPoint(1, 0, SK_ColorBLUE); 2809 draw_point_color(&canvas, 1, 0, SK_ColorBLUE);
2804 canvas.drawPoint(1, 1, SK_ColorGREEN); 2810 draw_point_color(&canvas, 1, 1, SK_ColorGREEN);
2805 } 2811 }
2806 2812
2807 gfx::Size tile_size(2, 2); 2813 gfx::Size tile_size(2, 2);
2808 ResourceId resource = this->resource_provider_->CreateResource( 2814 ResourceId resource = this->resource_provider_->CreateResource(
2809 tile_size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, RGBA_8888, 2815 tile_size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, RGBA_8888,
2810 gfx::ColorSpace()); 2816 gfx::ColorSpace());
2811 2817
2812 { 2818 {
2813 SkAutoLockPixels lock(bitmap); 2819 SkAutoLockPixels lock(bitmap);
2814 this->resource_provider_->CopyToResource( 2820 this->resource_provider_->CopyToResource(
(...skipping 28 matching lines...) Expand all
2843 // the TextureDrawQuad. 2849 // the TextureDrawQuad.
2844 TYPED_TEST(SoftwareRendererPixelTest, TextureDrawQuadLinear) { 2850 TYPED_TEST(SoftwareRendererPixelTest, TextureDrawQuadLinear) {
2845 gfx::Rect viewport(this->device_viewport_size_); 2851 gfx::Rect viewport(this->device_viewport_size_);
2846 bool nearest_neighbor = false; 2852 bool nearest_neighbor = false;
2847 2853
2848 SkBitmap bitmap; 2854 SkBitmap bitmap;
2849 bitmap.allocN32Pixels(2, 2); 2855 bitmap.allocN32Pixels(2, 2);
2850 { 2856 {
2851 SkAutoLockPixels lock(bitmap); 2857 SkAutoLockPixels lock(bitmap);
2852 SkCanvas canvas(bitmap); 2858 SkCanvas canvas(bitmap);
2853 canvas.drawPoint(0, 0, SK_ColorGREEN); 2859 draw_point_color(&canvas, 0, 0, SK_ColorGREEN);
2854 canvas.drawPoint(0, 1, SK_ColorBLUE); 2860 draw_point_color(&canvas, 0, 1, SK_ColorBLUE);
2855 canvas.drawPoint(1, 0, SK_ColorBLUE); 2861 draw_point_color(&canvas, 1, 0, SK_ColorBLUE);
2856 canvas.drawPoint(1, 1, SK_ColorGREEN); 2862 draw_point_color(&canvas, 1, 1, SK_ColorGREEN);
2857 } 2863 }
2858 2864
2859 gfx::Size tile_size(2, 2); 2865 gfx::Size tile_size(2, 2);
2860 ResourceId resource = this->resource_provider_->CreateResource( 2866 ResourceId resource = this->resource_provider_->CreateResource(
2861 tile_size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, RGBA_8888, 2867 tile_size, ResourceProvider::TEXTURE_HINT_IMMUTABLE, RGBA_8888,
2862 gfx::ColorSpace()); 2868 gfx::ColorSpace());
2863 2869
2864 { 2870 {
2865 SkAutoLockPixels lock(bitmap); 2871 SkAutoLockPixels lock(bitmap);
2866 this->resource_provider_->CopyToResource( 2872 this->resource_provider_->CopyToResource(
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after
3320 3326
3321 EXPECT_TRUE(this->RunPixelTest(&pass_list, base::FilePath(FILE_PATH_LITERAL( 3327 EXPECT_TRUE(this->RunPixelTest(&pass_list, base::FilePath(FILE_PATH_LITERAL(
3322 "translucent_rectangles.png")), 3328 "translucent_rectangles.png")),
3323 ExactPixelComparator(true))); 3329 ExactPixelComparator(true)));
3324 } 3330 }
3325 3331
3326 #endif // !defined(OS_ANDROID) 3332 #endif // !defined(OS_ANDROID)
3327 3333
3328 } // namespace 3334 } // namespace
3329 } // namespace cc 3335 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698