diff options
author | 2018-03-02 11:01:10 -0500 | |
---|---|---|
committer | 2018-03-02 18:19:50 +0000 | |
commit | 10fc6fddf24878f4f34e75c1bcc11e4499edfcc0 (patch) | |
tree | b3bd1d9263dbcf53c688d412e1e719fa97674b23 /include | |
parent | fde6fa0903b3cedc463c1a753268ffcf30ad7a38 (diff) |
Revert "Revert "Add 1010102 support to Ganesh""
This reverts commit ded47a50143470d1acdafa03e878cc7da5608038.
Bug: skia:
Change-Id: I7d7552e6ccc8591cae91426407ab13b628b93b68
Reviewed-on: https://skia-review.googlesource.com/111760
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/gpu/GrTypes.h | 5 | ||||
-rw-r--r-- | include/private/GrTypesPriv.h | 87 |
2 files changed, 58 insertions, 34 deletions
diff --git a/include/gpu/GrTypes.h b/include/gpu/GrTypes.h index c88d9ee63b..ef7426cbba 100644 --- a/include/gpu/GrTypes.h +++ b/include/gpu/GrTypes.h @@ -315,6 +315,11 @@ enum GrPixelConfig { kSBGRA_8888_GrPixelConfig, /** + * Premultiplied. + */ + kRGBA_1010102_GrPixelConfig, + + /** * Byte order is r, g, b, a. This color format is 32 bits per channel */ kRGBA_float_GrPixelConfig, diff --git a/include/private/GrTypesPriv.h b/include/private/GrTypesPriv.h index 1c28c400d0..c7a7296639 100644 --- a/include/private/GrTypesPriv.h +++ b/include/private/GrTypesPriv.h @@ -797,6 +797,7 @@ static inline GrSRGBEncoded GrPixelConfigIsSRGBEncoded(GrPixelConfig config) { case kRGBA_4444_GrPixelConfig: case kRGBA_8888_GrPixelConfig: case kBGRA_8888_GrPixelConfig: + case kRGBA_1010102_GrPixelConfig: case kRGBA_float_GrPixelConfig: case kRG_float_GrPixelConfig: case kAlpha_half_GrPixelConfig: @@ -832,6 +833,7 @@ static inline GrPixelConfig GrPixelConfigSwapRAndB(GrPixelConfig config) { case kGray_8_as_Red_GrPixelConfig: case kRGB_565_GrPixelConfig: case kRGBA_4444_GrPixelConfig: + case kRGBA_1010102_GrPixelConfig: case kRGBA_float_GrPixelConfig: case kRG_float_GrPixelConfig: case kAlpha_half_GrPixelConfig: @@ -861,6 +863,7 @@ static inline size_t GrBytesPerPixel(GrPixelConfig config) { case kBGRA_8888_GrPixelConfig: case kSRGBA_8888_GrPixelConfig: case kSBGRA_8888_GrPixelConfig: + case kRGBA_1010102_GrPixelConfig: return 4; case kRGBA_half_GrPixelConfig: return 8; @@ -893,6 +896,7 @@ static inline bool GrPixelConfigIsOpaque(GrPixelConfig config) { case kBGRA_8888_GrPixelConfig: case kSRGBA_8888_GrPixelConfig: case kSBGRA_8888_GrPixelConfig: + case kRGBA_1010102_GrPixelConfig: case kRGBA_half_GrPixelConfig: case kRGBA_float_GrPixelConfig: case kUnknown_GrPixelConfig: @@ -920,6 +924,7 @@ static inline bool GrPixelConfigIsAlphaOnly(GrPixelConfig config) { case kBGRA_8888_GrPixelConfig: case kSRGBA_8888_GrPixelConfig: case kSBGRA_8888_GrPixelConfig: + case kRGBA_1010102_GrPixelConfig: case kRGBA_float_GrPixelConfig: case kRG_float_GrPixelConfig: case kRGBA_half_GrPixelConfig: @@ -950,6 +955,7 @@ static inline bool GrPixelConfigIsFloatingPoint(GrPixelConfig config) { case kBGRA_8888_GrPixelConfig: case kSRGBA_8888_GrPixelConfig: case kSBGRA_8888_GrPixelConfig: + case kRGBA_1010102_GrPixelConfig: return false; } SK_ABORT("Invalid pixel config"); @@ -970,6 +976,7 @@ static inline bool GrPixelConfigIsUnorm(GrPixelConfig config) { case kBGRA_8888_GrPixelConfig: case kSRGBA_8888_GrPixelConfig: case kSBGRA_8888_GrPixelConfig: + case kRGBA_1010102_GrPixelConfig: return true; case kUnknown_GrPixelConfig: case kAlpha_half_GrPixelConfig: @@ -1008,6 +1015,7 @@ static inline GrSLPrecision GrSLSamplerPrecision(GrPixelConfig config) { case kAlpha_half_GrPixelConfig: case kAlpha_half_as_Red_GrPixelConfig: case kRGBA_half_GrPixelConfig: + case kRGBA_1010102_GrPixelConfig: return kMedium_GrSLPrecision; } SK_ABORT("Unexpected type"); @@ -1033,6 +1041,7 @@ enum class GrColorType { kABGR_4444, // This name differs from SkColorType. kARGB_4444_SkColorType is misnamed. kRGBA_8888, kBGRA_8888, + kRGBA_1010102, kGray_8, kAlpha_F16, kRGBA_F16, @@ -1042,17 +1051,18 @@ enum class GrColorType { static inline SkColorType GrColorTypeToSkColorType(GrColorType ct) { switch (ct) { - case GrColorType::kUnknown: return kUnknown_SkColorType; - case GrColorType::kAlpha_8: return kAlpha_8_SkColorType; - case GrColorType::kRGB_565: return kRGB_565_SkColorType; - case GrColorType::kABGR_4444: return kARGB_4444_SkColorType; - case GrColorType::kRGBA_8888: return kRGBA_8888_SkColorType; - case GrColorType::kBGRA_8888: return kBGRA_8888_SkColorType; - case GrColorType::kGray_8: return kGray_8_SkColorType; - case GrColorType::kAlpha_F16: return kUnknown_SkColorType; - case GrColorType::kRGBA_F16: return kRGBA_F16_SkColorType; - case GrColorType::kRG_F32: return kUnknown_SkColorType; - case GrColorType::kRGBA_F32: return kUnknown_SkColorType; + case GrColorType::kUnknown: return kUnknown_SkColorType; + case GrColorType::kAlpha_8: return kAlpha_8_SkColorType; + case GrColorType::kRGB_565: return kRGB_565_SkColorType; + case GrColorType::kABGR_4444: return kARGB_4444_SkColorType; + case GrColorType::kRGBA_8888: return kRGBA_8888_SkColorType; + case GrColorType::kBGRA_8888: return kBGRA_8888_SkColorType; + case GrColorType::kRGBA_1010102: return kRGBA_1010102_SkColorType; + case GrColorType::kGray_8: return kGray_8_SkColorType; + case GrColorType::kAlpha_F16: return kUnknown_SkColorType; + case GrColorType::kRGBA_F16: return kRGBA_F16_SkColorType; + case GrColorType::kRG_F32: return kUnknown_SkColorType; + case GrColorType::kRGBA_F32: return kUnknown_SkColorType; } SK_ABORT("Invalid GrColorType"); return kUnknown_SkColorType; @@ -1069,7 +1079,7 @@ static inline GrColorType SkColorTypeToGrColorType(SkColorType ct) { case kRGB_888x_SkColorType: return GrColorType::kUnknown; case kGray_8_SkColorType: return GrColorType::kGray_8; case kRGBA_F16_SkColorType: return GrColorType::kRGBA_F16; - case kRGBA_1010102_SkColorType: return GrColorType::kUnknown; + case kRGBA_1010102_SkColorType: return GrColorType::kRGBA_1010102; case kRGB_101010x_SkColorType: return GrColorType::kUnknown; } SK_ABORT("Invalid SkColorType"); @@ -1078,17 +1088,18 @@ static inline GrColorType SkColorTypeToGrColorType(SkColorType ct) { static inline int GrColorTypeBytesPerPixel(GrColorType ct) { switch (ct) { - case GrColorType::kUnknown: return 0; - case GrColorType::kAlpha_8: return 1; - case GrColorType::kRGB_565: return 2; - case GrColorType::kABGR_4444: return 2; - case GrColorType::kRGBA_8888: return 4; - case GrColorType::kBGRA_8888: return 4; - case GrColorType::kGray_8: return 1; - case GrColorType::kAlpha_F16: return 2; - case GrColorType::kRGBA_F16: return 8; - case GrColorType::kRG_F32: return 8; - case GrColorType::kRGBA_F32: return 16; + case GrColorType::kUnknown: return 0; + case GrColorType::kAlpha_8: return 1; + case GrColorType::kRGB_565: return 2; + case GrColorType::kABGR_4444: return 2; + case GrColorType::kRGBA_8888: return 4; + case GrColorType::kBGRA_8888: return 4; + case GrColorType::kRGBA_1010102: return 4; + case GrColorType::kGray_8: return 1; + case GrColorType::kAlpha_F16: return 2; + case GrColorType::kRGBA_F16: return 8; + case GrColorType::kRG_F32: return 8; + case GrColorType::kRGBA_F32: return 16; } SK_ABORT("Invalid GrColorType"); return 0; @@ -1096,17 +1107,18 @@ static inline int GrColorTypeBytesPerPixel(GrColorType ct) { static inline int GrColorTypeIsAlphaOnly(GrColorType ct) { switch (ct) { - case GrColorType::kUnknown: return false; - case GrColorType::kAlpha_8: return true; - case GrColorType::kRGB_565: return false; - case GrColorType::kABGR_4444: return false; - case GrColorType::kRGBA_8888: return false; - case GrColorType::kBGRA_8888: return false; - case GrColorType::kGray_8: return false; - case GrColorType::kAlpha_F16: return true; - case GrColorType::kRGBA_F16: return false; - case GrColorType::kRG_F32: return false; - case GrColorType::kRGBA_F32: return false; + case GrColorType::kUnknown: return false; + case GrColorType::kAlpha_8: return true; + case GrColorType::kRGB_565: return false; + case GrColorType::kABGR_4444: return false; + case GrColorType::kRGBA_8888: return false; + case GrColorType::kBGRA_8888: return false; + case GrColorType::kRGBA_1010102: return false; + case GrColorType::kGray_8: return false; + case GrColorType::kAlpha_F16: return true; + case GrColorType::kRGBA_F16: return false; + case GrColorType::kRG_F32: return false; + case GrColorType::kRGBA_F32: return false; } SK_ABORT("Invalid GrColorType"); return false; @@ -1142,6 +1154,9 @@ static inline GrColorType GrPixelConfigToColorTypeAndEncoding(GrPixelConfig conf case kSBGRA_8888_GrPixelConfig: *srgbEncoded = GrSRGBEncoded::kYes; return GrColorType::kBGRA_8888; + case kRGBA_1010102_GrPixelConfig: + *srgbEncoded = GrSRGBEncoded::kNo; + return GrColorType::kRGBA_1010102; case kRGBA_float_GrPixelConfig: *srgbEncoded = GrSRGBEncoded::kNo; return GrColorType::kRGBA_F32; @@ -1208,6 +1223,10 @@ static inline GrPixelConfig GrColorTypeToPixelConfig(GrColorType config, return (GrSRGBEncoded::kYes == srgbEncoded) ? kSBGRA_8888_GrPixelConfig : kBGRA_8888_GrPixelConfig; + case GrColorType::kRGBA_1010102: + return (GrSRGBEncoded::kYes == srgbEncoded) ? kUnknown_GrPixelConfig + : kRGBA_1010102_GrPixelConfig; + case GrColorType::kRGBA_F32: return (GrSRGBEncoded::kYes == srgbEncoded) ? kUnknown_GrPixelConfig : kRGBA_float_GrPixelConfig; |