| Index: src/core/SkColor.cpp
|
| diff --git a/src/core/SkColor.cpp b/src/core/SkColor.cpp
|
| index c9f4a1433dfd9a856c5d7f6bed4725147e0bde89..1794cd7d909c68a23f102d25cfe9e4c73ed0ed2f 100644
|
| --- a/src/core/SkColor.cpp
|
| +++ b/src/core/SkColor.cpp
|
| @@ -104,9 +104,10 @@ SkColor SkHSVToColor(U8CPU a, const SkScalar hsv[3]) {
|
| ///////////////////////////////////////////////////////////////////////////////////////////////////
|
| #include "SkNx.h"
|
|
|
| -SkColor4f SkColor4f::Pin(float a, float r, float g, float b) {
|
| - SkColor4f c4;
|
| - Sk4f::Min(Sk4f::Max(Sk4f(a, r, g, b), Sk4f(0)), Sk4f(1)).store(c4.vec());
|
| +SkPM4f SkPM4f::FromPMColor(SkPMColor c) {
|
| + Sk4f value = SkNx_cast<float>(Sk4b::Load((const uint8_t*)&c));
|
| + SkPM4f c4;
|
| + (value * Sk4f(1.0f / 255)).store(c4.fVec);
|
| return c4;
|
| }
|
|
|
| @@ -117,6 +118,12 @@ SkColor4f SkColor4f::FromColor(SkColor c) {
|
| return c4;
|
| }
|
|
|
| +SkColor4f SkColor4f::Pin(float a, float r, float g, float b) {
|
| + SkColor4f c4;
|
| + Sk4f::Min(Sk4f::Max(Sk4f(a, r, g, b), Sk4f(0)), Sk4f(1)).store(c4.vec());
|
| + return c4;
|
| +}
|
| +
|
| SkPM4f SkColor4f::premul() const {
|
| auto src = Sk4f::Load(this->pin().vec());
|
| float srcAlpha = src.kth<0>(); // need the pinned version of our alpha
|
|
|