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 <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
This commit is contained in:
parent
b1fc36829d
commit
5b9a037bf4
22
dm/DM.cpp
22
dm/DM.cpp
@ -912,26 +912,22 @@ static sk_sp<SkColorSpace> adobe_rgb() {
|
||||
SkColorSpace::kAdobeRGB_Gamut);
|
||||
}
|
||||
|
||||
static sk_sp<SkColorSpace> 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];
|
||||
static sk_sp<SkColorSpace> 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],
|
||||
};
|
||||
SkMatrix44 toXYZD50(SkMatrix44::kUninitialized_Constructor);
|
||||
toXYZD50.set3x3RowMajorf(gbr);
|
||||
toXYZD50.set3x3RowMajorf(brg);
|
||||
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("gbr", ViaCSXform, wrapped, rgb_to_gbr(), true);
|
||||
VIA("brg", ViaCSXform, wrapped, rgb_to_brg(), true);
|
||||
VIA("lite", ViaLite, wrapped);
|
||||
VIA("pipe", ViaPipe, wrapped);
|
||||
VIA("twice", ViaTwice, wrapped);
|
||||
|
@ -2168,11 +2168,11 @@ Error ViaCSXform::draw(const Src& src, SkBitmap* bitmap, SkWStream* stream, SkSt
|
||||
uint32_t* row = pixels.getAddr32(0,y);
|
||||
for (int x = 0; x < pixels.width(); x++) {
|
||||
uint32_t pixel = *row;
|
||||
uint8_t r = SkGetPackedR32(pixel);
|
||||
uint8_t g = SkGetPackedG32(pixel);
|
||||
uint8_t b = SkGetPackedB32(pixel);
|
||||
uint8_t a = SkGetPackedA32(pixel);
|
||||
*row++ = SkSwizzle_RGBA_to_PMColor(b << 0 | r << 8 | g << 16 | a << 24);
|
||||
uint8_t g = (pixel >> 0) & 0xff,
|
||||
b = (pixel >> 8) & 0xff,
|
||||
r = (pixel >> 16) & 0xff,
|
||||
a = (pixel >> 24) & 0xff;
|
||||
*row++ = SkSwizzle_RGBA_to_PMColor(r << 0 | g << 8 | b << 16 | a << 24);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -168,7 +168,7 @@
|
||||
"sp-8888",
|
||||
"2ndpic-8888",
|
||||
"lite-8888",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"serialize-8888",
|
||||
"tiles_rt-8888",
|
||||
"pic-8888",
|
||||
@ -187,11 +187,11 @@
|
||||
"_",
|
||||
"_",
|
||||
"dstreadshuffle",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
|
@ -167,7 +167,7 @@
|
||||
"sp-8888",
|
||||
"2ndpic-8888",
|
||||
"lite-8888",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"serialize-8888",
|
||||
"tiles_rt-8888",
|
||||
"pic-8888",
|
||||
@ -181,11 +181,11 @@
|
||||
"_",
|
||||
"_",
|
||||
"dstreadshuffle",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
|
@ -239,7 +239,7 @@
|
||||
"sp-8888",
|
||||
"2ndpic-8888",
|
||||
"lite-8888",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"serialize-8888",
|
||||
"tiles_rt-8888",
|
||||
"pic-8888",
|
||||
@ -253,11 +253,11 @@
|
||||
"_",
|
||||
"_",
|
||||
"dstreadshuffle",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
|
@ -168,7 +168,7 @@
|
||||
"sp-8888",
|
||||
"2ndpic-8888",
|
||||
"lite-8888",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"serialize-8888",
|
||||
"tiles_rt-8888",
|
||||
"pic-8888",
|
||||
@ -182,11 +182,11 @@
|
||||
"_",
|
||||
"_",
|
||||
"dstreadshuffle",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
|
@ -173,7 +173,7 @@
|
||||
"sp-8888",
|
||||
"2ndpic-8888",
|
||||
"lite-8888",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"serialize-8888",
|
||||
"tiles_rt-8888",
|
||||
"pic-8888",
|
||||
@ -187,11 +187,11 @@
|
||||
"_",
|
||||
"_",
|
||||
"dstreadshuffle",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
|
@ -168,7 +168,7 @@
|
||||
"sp-8888",
|
||||
"2ndpic-8888",
|
||||
"lite-8888",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"serialize-8888",
|
||||
"tiles_rt-8888",
|
||||
"pic-8888",
|
||||
@ -182,11 +182,11 @@
|
||||
"_",
|
||||
"_",
|
||||
"dstreadshuffle",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
|
@ -237,7 +237,7 @@
|
||||
"sp-8888",
|
||||
"2ndpic-8888",
|
||||
"lite-8888",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"serialize-8888",
|
||||
"tiles_rt-8888",
|
||||
"pic-8888",
|
||||
@ -251,11 +251,11 @@
|
||||
"_",
|
||||
"_",
|
||||
"dstreadshuffle",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
|
@ -235,7 +235,7 @@
|
||||
"sp-8888",
|
||||
"2ndpic-8888",
|
||||
"lite-8888",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"serialize-8888",
|
||||
"tiles_rt-8888",
|
||||
"pic-8888",
|
||||
@ -249,11 +249,11 @@
|
||||
"_",
|
||||
"_",
|
||||
"dstreadshuffle",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
|
@ -235,7 +235,7 @@
|
||||
"sp-8888",
|
||||
"2ndpic-8888",
|
||||
"lite-8888",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"serialize-8888",
|
||||
"tiles_rt-8888",
|
||||
"pic-8888",
|
||||
@ -249,11 +249,11 @@
|
||||
"_",
|
||||
"_",
|
||||
"dstreadshuffle",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
|
@ -236,7 +236,7 @@
|
||||
"sp-8888",
|
||||
"2ndpic-8888",
|
||||
"lite-8888",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"serialize-8888",
|
||||
"tiles_rt-8888",
|
||||
"pic-8888",
|
||||
@ -250,11 +250,11 @@
|
||||
"_",
|
||||
"_",
|
||||
"dstreadshuffle",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"image",
|
||||
"_",
|
||||
"_",
|
||||
"gbr-8888",
|
||||
"brg-8888",
|
||||
"colorImage",
|
||||
"_",
|
||||
"_",
|
||||
|
@ -95,7 +95,7 @@ def dm_flags(api, bot):
|
||||
configs.extend(['f16'])
|
||||
configs.extend(['sp-8888', '2ndpic-8888']) # Test niche uses of SkPicture.
|
||||
configs.extend(['lite-8888']) # Experimental display list.
|
||||
configs.extend(['gbr-8888'])
|
||||
configs.extend(['brg-8888'])
|
||||
|
||||
# NP is running out of RAM when we run all these modes. skia:3255
|
||||
if 'NexusPlayer' not in bot:
|
||||
@ -272,8 +272,8 @@ def dm_flags(api, bot):
|
||||
blacklist('glessrgb image _ _')
|
||||
|
||||
# Not any point to running these.
|
||||
blacklist('gbr-8888 image _ _')
|
||||
blacklist('gbr-8888 colorImage _ _')
|
||||
blacklist('brg-8888 image _ _')
|
||||
blacklist('brg-8888 colorImage _ _')
|
||||
|
||||
if 'Valgrind' in bot:
|
||||
# These take 18+ hours to run.
|
||||
|
Loading…
Reference in New Issue
Block a user