Roll skia/third_party/skcms c6c0aae921ea..04a7830913b3 (1 commits)
https://skia.googlesource.com/skcms.git/+log/c6c0aae921ea..04a7830913b3 2019-03-11 mtklein@google.com support f16norm in skcms The AutoRoll server is located here: https://autoroll.skia.org/r/skcms-skia-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux-blink-rel TBR=benjaminwagner@google.com Change-Id: I413fccdbca280608e4559b5374c591b58cfb8a58 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/200080 Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
This commit is contained in:
parent
c6d8781c40
commit
2e4fa243ba
14
third_party/skcms/skcms.cc
vendored
14
third_party/skcms/skcms.cc
vendored
@ -1984,6 +1984,8 @@ static size_t bytes_per_pixel(skcms_PixelFormat fmt) {
|
||||
case skcms_PixelFormat_RGBA_16161616LE >> 1: return 8;
|
||||
case skcms_PixelFormat_RGB_161616BE >> 1: return 6;
|
||||
case skcms_PixelFormat_RGBA_16161616BE >> 1: return 8;
|
||||
case skcms_PixelFormat_RGB_hhh_Norm >> 1: return 6;
|
||||
case skcms_PixelFormat_RGBA_hhhh_Norm >> 1: return 8;
|
||||
case skcms_PixelFormat_RGB_hhh >> 1: return 6;
|
||||
case skcms_PixelFormat_RGBA_hhhh >> 1: return 8;
|
||||
case skcms_PixelFormat_RGB_fff >> 1: return 12;
|
||||
@ -2083,6 +2085,8 @@ bool skcms_TransformWithPalette(const void* src,
|
||||
case skcms_PixelFormat_RGBA_16161616LE >> 1: *ops++ = Op_load_16161616LE; break;
|
||||
case skcms_PixelFormat_RGB_161616BE >> 1: *ops++ = Op_load_161616BE; break;
|
||||
case skcms_PixelFormat_RGBA_16161616BE >> 1: *ops++ = Op_load_16161616BE; break;
|
||||
case skcms_PixelFormat_RGB_hhh_Norm >> 1: *ops++ = Op_load_hhh; break;
|
||||
case skcms_PixelFormat_RGBA_hhhh_Norm >> 1: *ops++ = Op_load_hhhh; break;
|
||||
case skcms_PixelFormat_RGB_hhh >> 1: *ops++ = Op_load_hhh; break;
|
||||
case skcms_PixelFormat_RGBA_hhhh >> 1: *ops++ = Op_load_hhhh; break;
|
||||
case skcms_PixelFormat_RGB_fff >> 1: *ops++ = Op_load_fff; break;
|
||||
@ -2092,6 +2096,10 @@ bool skcms_TransformWithPalette(const void* src,
|
||||
*args++ = palette;
|
||||
break;
|
||||
}
|
||||
if (srcFmt == skcms_PixelFormat_RGB_hhh_Norm ||
|
||||
srcFmt == skcms_PixelFormat_RGBA_hhhh_Norm) {
|
||||
*ops++ = Op_clamp;
|
||||
}
|
||||
if (srcFmt & 1) {
|
||||
*ops++ = Op_swap_rb;
|
||||
}
|
||||
@ -2213,8 +2221,8 @@ bool skcms_TransformWithPalette(const void* src,
|
||||
if (!is_identity_tf(&inv_dst_tf_b)) { *ops++ = Op_tf_b; *args++ = &inv_dst_tf_b; }
|
||||
}
|
||||
|
||||
// Clamp here before premul to make sure we're clamping to fixed-point values _and_ gamut,
|
||||
// not just to values that fit in the fixed point representation.
|
||||
// Clamp here before premul to make sure we're clamping to normalized values _and_ gamut,
|
||||
// not just to values that fit in [0,1].
|
||||
//
|
||||
// E.g. r = 1.1, a = 0.5 would fit fine in fixed point after premul (ra=0.55,a=0.5),
|
||||
// but would be carrying r > 1, which is really unexpected for downstream consumers.
|
||||
@ -2242,6 +2250,8 @@ bool skcms_TransformWithPalette(const void* src,
|
||||
case skcms_PixelFormat_RGBA_16161616LE >> 1: *ops++ = Op_store_16161616LE; break;
|
||||
case skcms_PixelFormat_RGB_161616BE >> 1: *ops++ = Op_store_161616BE; break;
|
||||
case skcms_PixelFormat_RGBA_16161616BE >> 1: *ops++ = Op_store_16161616BE; break;
|
||||
case skcms_PixelFormat_RGB_hhh_Norm >> 1: *ops++ = Op_store_hhh; break;
|
||||
case skcms_PixelFormat_RGBA_hhhh_Norm >> 1: *ops++ = Op_store_hhhh; break;
|
||||
case skcms_PixelFormat_RGB_hhh >> 1: *ops++ = Op_store_hhh; break;
|
||||
case skcms_PixelFormat_RGBA_hhhh >> 1: *ops++ = Op_store_hhhh; break;
|
||||
case skcms_PixelFormat_RGB_fff >> 1: *ops++ = Op_store_fff; break;
|
||||
|
5
third_party/skcms/skcms.h
vendored
5
third_party/skcms/skcms.h
vendored
@ -208,6 +208,11 @@ typedef enum skcms_PixelFormat {
|
||||
skcms_PixelFormat_RGBA_16161616 = skcms_PixelFormat_RGBA_16161616BE,
|
||||
skcms_PixelFormat_BGRA_16161616 = skcms_PixelFormat_BGRA_16161616BE,
|
||||
|
||||
skcms_PixelFormat_RGB_hhh_Norm, // 1-5-10 half-precision float in [0,1]
|
||||
skcms_PixelFormat_BGR_hhh_Norm, // Pointers must be 16-bit aligned.
|
||||
skcms_PixelFormat_RGBA_hhhh_Norm,
|
||||
skcms_PixelFormat_BGRA_hhhh_Norm,
|
||||
|
||||
skcms_PixelFormat_RGB_hhh, // 1-5-10 half-precision float.
|
||||
skcms_PixelFormat_BGR_hhh, // Pointers must be 16-bit aligned.
|
||||
skcms_PixelFormat_RGBA_hhhh,
|
||||
|
2
third_party/skcms/version.sha1
vendored
2
third_party/skcms/version.sha1
vendored
@ -1 +1 @@
|
||||
c6c0aae921ea669317a6fe5556ba023dbc2b4662
|
||||
04a7830913b3e0e98d794f03ceffd1d696b8c605
|
Loading…
Reference in New Issue
Block a user