diff options
Diffstat (limited to 'chromium/third_party/skia')
3 files changed, 27 insertions, 1 deletions
diff --git a/chromium/third_party/skia/third_party/skcms/skcms.cc b/chromium/third_party/skia/third_party/skcms/skcms.cc index 0a820629adc..7adecc67ec2 100644 --- a/chromium/third_party/skia/third_party/skcms/skcms.cc +++ b/chromium/third_party/skia/third_party/skcms/skcms.cc @@ -1776,6 +1776,10 @@ typedef enum { Op_table_16_b, Op_table_16_a, + Op_clut_1D_8, + Op_clut_1D_16, + Op_clut_2D_8, + Op_clut_2D_16, Op_clut_3D_8, Op_clut_3D_16, Op_clut_4D_8, @@ -2193,6 +2197,8 @@ bool skcms_Transform(const void* src, } } switch (srcProfile->A2B.input_channels) { + case 1: *ops++ = srcProfile->A2B.grid_8 ? Op_clut_1D_8 : Op_clut_1D_16; break; + case 2: *ops++ = srcProfile->A2B.grid_8 ? Op_clut_2D_8 : Op_clut_2D_16; break; case 3: *ops++ = srcProfile->A2B.grid_8 ? Op_clut_3D_8 : Op_clut_3D_16; break; case 4: *ops++ = srcProfile->A2B.grid_8 ? Op_clut_4D_8 : Op_clut_4D_16; break; default: return false; diff --git a/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h b/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h index fb2b6de6956..57ff2872ffb 100644 --- a/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h +++ b/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h @@ -863,6 +863,26 @@ static void NS(exec_ops)(const Op* ops, const void** args, case Op_table_16_b:{ b = NS(table_16_)((const skcms_Curve*)*args++, b); } break; case Op_table_16_a:{ a = NS(table_16_)((const skcms_Curve*)*args++, a); } break; + case Op_clut_1D_8:{ + const skcms_A2B* a2b = (const skcms_A2B*) *args++; + clut<1,8>(a2b, CAST(I32,F0),CAST(I32,F1), &r,&g,&b,a); + } break; + + case Op_clut_1D_16:{ + const skcms_A2B* a2b = (const skcms_A2B*) *args++; + clut<1,16>(a2b, CAST(I32,F0),CAST(I32,F1), &r,&g,&b,a); + } break; + + case Op_clut_2D_8:{ + const skcms_A2B* a2b = (const skcms_A2B*) *args++; + clut<2,8>(a2b, CAST(I32,F0),CAST(I32,F1), &r,&g,&b,a); + } break; + + case Op_clut_2D_16:{ + const skcms_A2B* a2b = (const skcms_A2B*) *args++; + clut<2,16>(a2b, CAST(I32,F0),CAST(I32,F1), &r,&g,&b,a); + } break; + case Op_clut_3D_8:{ const skcms_A2B* a2b = (const skcms_A2B*) *args++; clut<3,8>(a2b, CAST(I32,F0),CAST(I32,F1), &r,&g,&b,a); diff --git a/chromium/third_party/skia/third_party/skcms/version.sha1 b/chromium/third_party/skia/third_party/skcms/version.sha1 index acd78c804a0..35829c378f0 100755 --- a/chromium/third_party/skia/third_party/skcms/version.sha1 +++ b/chromium/third_party/skia/third_party/skcms/version.sha1 @@ -1 +1 @@ -dad22fe0e6462784b860e3b66ce88113cc8ce8a6
\ No newline at end of file +b2fffd2ecf2e47ec2faf811865f9eb934be1c0e1 |