diff options
Diffstat (limited to 'src/gpu/SkGr.cpp')
-rw-r--r-- | src/gpu/SkGr.cpp | 51 |
1 files changed, 8 insertions, 43 deletions
diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp index 27c9b39f5e..09155a05b3 100644 --- a/src/gpu/SkGr.cpp +++ b/src/gpu/SkGr.cpp @@ -264,7 +264,7 @@ GrPixelConfig SkImageInfo2GrPixelConfig(const SkColorType type, SkColorSpace* cs // TODO: We're checking for srgbSupport, but we can then end up picking sBGRA as our pixel // config (which may not be supported). We need a better test here. case kRGB_888x_SkColorType: - return kUnknown_GrPixelConfig; + return kRGB_888_GrPixelConfig; case kBGRA_8888_SkColorType: return (caps.srgbSupport() && cs && cs->gammaCloseToSRGB()) ? kSBGRA_8888_GrPixelConfig : kBGRA_8888_GrPixelConfig; @@ -286,49 +286,14 @@ GrPixelConfig SkImageInfo2GrPixelConfig(const SkImageInfo& info, const GrCaps& c } bool GrPixelConfigToColorType(GrPixelConfig config, SkColorType* ctOut) { - SkColorType ct; - switch (config) { - case kAlpha_8_GrPixelConfig: // fall through - case kAlpha_8_as_Alpha_GrPixelConfig: // fall through - case kAlpha_8_as_Red_GrPixelConfig: - ct = kAlpha_8_SkColorType; - break; - case kGray_8_GrPixelConfig: // fall through - case kGray_8_as_Lum_GrPixelConfig: // fall through - case kGray_8_as_Red_GrPixelConfig: - ct = kGray_8_SkColorType; - break; - case kRGB_565_GrPixelConfig: - ct = kRGB_565_SkColorType; - break; - case kRGBA_4444_GrPixelConfig: - ct = kARGB_4444_SkColorType; - break; - case kRGBA_8888_GrPixelConfig: - ct = kRGBA_8888_SkColorType; - break; - case kBGRA_8888_GrPixelConfig: - ct = kBGRA_8888_SkColorType; - break; - case kSRGBA_8888_GrPixelConfig: - ct = kRGBA_8888_SkColorType; - break; - case kSBGRA_8888_GrPixelConfig: - ct = kBGRA_8888_SkColorType; - break; - case kRGBA_1010102_GrPixelConfig: - ct = kRGBA_1010102_SkColorType; - break; - case kRGBA_half_GrPixelConfig: - ct = kRGBA_F16_SkColorType; - break; - default: - return false; - } - if (ctOut) { - *ctOut = ct; + SkColorType ct = GrColorTypeToSkColorType(GrPixelConfigToColorType(config)); + if (kUnknown_SkColorType != ct) { + if (ctOut) { + *ctOut = ct; + } + return true; } - return true; + return false; } GrPixelConfig GrRenderableConfigForColorSpace(const SkColorSpace* colorSpace) { |