diff options
author | 2016-04-15 10:03:03 -0700 | |
---|---|---|
committer | 2016-04-15 10:03:03 -0700 | |
commit | 6d7cd1f421dbde43dd2db655ca477c05312ec5fd (patch) | |
tree | a417c65d83d2ef2575876f57f786526ab7d39b38 /include | |
parent | 6b13473dd4d5915309cc2caddbab2e22f2f21d5f (diff) |
move static arrays into impl, to avoid multiple copies
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1889793007
Review URL: https://codereview.chromium.org/1889793007
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkImageInfo.h | 40 |
1 files changed, 8 insertions, 32 deletions
diff --git a/include/core/SkImageInfo.h b/include/core/SkImageInfo.h index 4b308c05d8..1cac7ebc4d 100644 --- a/include/core/SkImageInfo.h +++ b/include/core/SkImageInfo.h @@ -86,42 +86,18 @@ enum SkColorType { #endif }; +extern const uint8_t gPrivate_SkColorTypeBytesPerPixel[]; + static int SkColorTypeBytesPerPixel(SkColorType ct) { - static const uint8_t gSize[] = { - 0, // Unknown - 1, // Alpha_8 - 2, // RGB_565 - 2, // ARGB_4444 - 4, // RGBA_8888 - 4, // BGRA_8888 - 1, // kIndex_8 - 1, // kGray_8 - 8, // kRGBA_F16 - }; - static_assert(SK_ARRAY_COUNT(gSize) == (size_t)(kLastEnum_SkColorType + 1), - "size_mismatch_with_SkColorType_enum"); - - SkASSERT((size_t)ct < SK_ARRAY_COUNT(gSize)); - return gSize[ct]; + SkASSERT((unsigned)ct <= (unsigned)kLastEnum_SkColorType); + return gPrivate_SkColorTypeBytesPerPixel[ct]; } +extern const uint8_t gPrivate_SkColorTypeShiftPerPixel[]; + static int SkColorTypeShiftPerPixel(SkColorType ct) { - static const uint8_t gShift[] = { - 0, // Unknown - 0, // Alpha_8 - 1, // RGB_565 - 1, // ARGB_4444 - 2, // RGBA_8888 - 2, // BGRA_8888 - 0, // kIndex_8 - 0, // kGray_8 - 3, // kRGBA_F16 - }; - static_assert(SK_ARRAY_COUNT(gShift) == (size_t)(kLastEnum_SkColorType + 1), - "size_mismatch_with_SkColorType_enum"); - - SkASSERT((size_t)ct < SK_ARRAY_COUNT(gShift)); - return gShift[ct]; + SkASSERT((unsigned)ct <= (unsigned)kLastEnum_SkColorType); + return gPrivate_SkColorTypeShiftPerPixel[ct]; } static inline size_t SkColorTypeMinRowBytes(SkColorType ct, int width) { |