From b7ea3da8cf722e017661710f25a83babd745a04d Mon Sep 17 00:00:00 2001 From: Mike Klein Date: Tue, 31 Oct 2017 17:42:08 +0000 Subject: Revert "gbr- has been brg- this whole time..." This reverts commit 5b9a037bf41591e0076843f619ee47c9ad30e42d. Reason for revert: I got confused in here somewhere and everything is drawing wrong. Original change's description: > gbr- has been brg- this whole time... > > Rewrite things to make that a little clearer. > > A red pixel ends up in channel 2, what would naively draw as blue > without a rotation. A green pixel ends up in channel 0, which would > naively draw as red without rotation. A blue pixel ends up in channel > 1, which would naively draw as green without this rotation. > > So this transformation is: > > r -> b > g -> r > b -> g > > i.e. rgb_to_brg > > Change-Id: I12331ff2622194e34a44f421f656fbe4db5d3dca > Reviewed-on: https://skia-review.googlesource.com/65521 > Commit-Queue: Brian Osman > Reviewed-by: Brian Osman TBR=mtklein@chromium.org,brianosman@google.com Change-Id: Ib29800b242bf736b20d61375d3c437c8f4ffdce0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/65781 Reviewed-by: Mike Klein Commit-Queue: Mike Klein --- dm/DM.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'dm/DM.cpp') diff --git a/dm/DM.cpp b/dm/DM.cpp index ce4eb367fd..cb5332d77a 100644 --- a/dm/DM.cpp +++ b/dm/DM.cpp @@ -912,22 +912,26 @@ static sk_sp adobe_rgb() { SkColorSpace::kAdobeRGB_Gamut); } -static sk_sp rgb_to_brg() { - auto m = gSRGB_toXYZD50; - float brg[9] = { - m[1], m[2], m[0], - m[4], m[5], m[3], - m[7], m[8], m[6], - }; +static sk_sp rgb_to_gbr() { + float gbr[9]; + gbr[0] = gSRGB_toXYZD50[1]; + gbr[1] = gSRGB_toXYZD50[2]; + gbr[2] = gSRGB_toXYZD50[0]; + gbr[3] = gSRGB_toXYZD50[4]; + gbr[4] = gSRGB_toXYZD50[5]; + gbr[5] = gSRGB_toXYZD50[3]; + gbr[6] = gSRGB_toXYZD50[7]; + gbr[7] = gSRGB_toXYZD50[8]; + gbr[8] = gSRGB_toXYZD50[6]; SkMatrix44 toXYZD50(SkMatrix44::kUninitialized_Constructor); - toXYZD50.set3x3RowMajorf(brg); + toXYZD50.set3x3RowMajorf(gbr); return SkColorSpace::MakeRGB(SkColorSpace::kSRGB_RenderTargetGamma, toXYZD50); } static Sink* create_via(const SkString& tag, Sink* wrapped) { #define VIA(t, via, ...) if (tag.equals(t)) { return new via(__VA_ARGS__); } VIA("adobe", ViaCSXform, wrapped, adobe_rgb(), false); - VIA("brg", ViaCSXform, wrapped, rgb_to_brg(), true); + VIA("gbr", ViaCSXform, wrapped, rgb_to_gbr(), true); VIA("lite", ViaLite, wrapped); VIA("pipe", ViaPipe, wrapped); VIA("twice", ViaTwice, wrapped); -- cgit v1.2.3