Tag checkerboard bitmaps as sRGB
authorbrianosman <brianosman@google.com>
Mon, 26 Sep 2016 17:43:21 +0000 (10:43 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 26 Sep 2016 17:43:21 +0000 (10:43 -0700)
Significantly reduces the diff between legacy and sRGB/F16 on about 25
GMs. This is just the biggest piece of low-hanging fruit. Many GMs create
N32 raster surfaces to procedurally generate source textures, and I'd like
to fix all of them. It's much easier to reason about the GMs (is sRGB
doing the right thing) when everything is tagged like this - the only
expected differences are due to filtering and blending.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368933003

Review-Url: https://codereview.chromium.org/2368933003

tools/sk_tool_utils.cpp

index 0978058238a5890cf18061bf7141968c0c131c65..72d1af508311c6ade9b6df3a731c95bc0811e33e 100644 (file)
@@ -200,7 +200,7 @@ void write_pixels(SkCanvas* canvas, const SkBitmap& bitmap, int x, int y,
 
 sk_sp<SkShader> create_checkerboard_shader(SkColor c1, SkColor c2, int size) {
     SkBitmap bm;
-    bm.allocN32Pixels(2 * size, 2 * size);
+    bm.allocPixels(SkImageInfo::MakeS32(2 * size, 2 * size, kPremul_SkAlphaType));
     bm.eraseColor(c1);
     bm.eraseArea(SkIRect::MakeLTRB(0, 0, size, size), c2);
     bm.eraseArea(SkIRect::MakeLTRB(size, size, 2 * size, 2 * size), c2);
@@ -210,7 +210,7 @@ sk_sp<SkShader> create_checkerboard_shader(SkColor c1, SkColor c2, int size) {
 
 SkBitmap create_checkerboard_bitmap(int w, int h, SkColor c1, SkColor c2, int checkSize) {
     SkBitmap bitmap;
-    bitmap.allocN32Pixels(w, h);
+    bitmap.allocPixels(SkImageInfo::MakeS32(w, h, kPremul_SkAlphaType));
     SkCanvas canvas(bitmap);
 
     sk_tool_utils::draw_checkerboard(&canvas, c1, c2, checkSize);