diff options
author | 2016-01-22 00:04:30 -0800 | |
---|---|---|
committer | 2016-01-22 00:04:30 -0800 | |
commit | 2a2bdc698460c38ac9e24ba4abdeefec67bcba37 (patch) | |
tree | fd2660e993c369874be1966a95ebc673194aabb4 /src/core | |
parent | 7765000709dc64eb23be7df47d1f995d1f787115 (diff) |
Revert of experiment: float color components (patchset #6 id:100001 of https://codereview.chromium.org/1617813002/ )
Reason for revert:
broke some colormatrix tests
Original issue's description:
> experiment: float color components
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1617813002
>
> Committed: https://skia.googlesource.com/skia/+/353c148d8e8c9031daca34c6f9d6bcc6f08706c7
TBR=fmalita@chromium.org,mtklein@google.com,herb@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1623453002
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/SkColor.cpp | 34 | ||||
-rw-r--r-- | src/core/SkColorFilter.cpp | 4 | ||||
-rw-r--r-- | src/core/SkColorShader.h | 2 | ||||
-rw-r--r-- | src/core/SkMathPriv.h | 4 | ||||
-rw-r--r-- | src/core/SkShader.cpp | 16 |
5 files changed, 1 insertions, 59 deletions
diff --git a/src/core/SkColor.cpp b/src/core/SkColor.cpp index c9f4a1433d..a21f019239 100644 --- a/src/core/SkColor.cpp +++ b/src/core/SkColor.cpp @@ -100,37 +100,3 @@ SkColor SkHSVToColor(U8CPU a, const SkScalar hsv[3]) { } return SkColorSetARGB(a, r, g, b); } - -/////////////////////////////////////////////////////////////////////////////////////////////////// -#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()); - return c4; -} - -SkColor4f SkColor4f::FromColor(SkColor c) { - Sk4f value = SkNx_shuffle<3,2,1,0>(SkNx_cast<float>(Sk4b::Load((const uint8_t*)&c))); - SkColor4f c4; - (value * Sk4f(1.0f / 255)).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 - src = src * Sk4f(1, srcAlpha, srcAlpha, srcAlpha); - -#ifdef SK_PMCOLOR_IS_BGRA - // ARGB -> BGRA - Sk4f dst = SkNx_shuffle<3,2,1,0>(src); -#else - // ARGB -> RGBA - Sk4f dst = SkNx_shuffle<1,2,3,0>(src); -#endif - - SkPM4f pm4; - dst.store(pm4.fVec); - return pm4; -} diff --git a/src/core/SkColorFilter.cpp b/src/core/SkColorFilter.cpp index 4bfacfe544..747e5ee107 100644 --- a/src/core/SkColorFilter.cpp +++ b/src/core/SkColorFilter.cpp @@ -35,10 +35,6 @@ SkColor SkColorFilter::filterColor(SkColor c) const { return SkUnPreMultiply::PMColorToColor(dst); } -void SkColorFilter::filterSpan4f(const SkPM4f[], int count, SkPM4f[]) const { - SkASSERT(false && "filterSpan4f called but not implemented"); -} - /////////////////////////////////////////////////////////////////////////////////////////////////// /* diff --git a/src/core/SkColorShader.h b/src/core/SkColorShader.h index 1c07a3c124..25a1d6c8d0 100644 --- a/src/core/SkColorShader.h +++ b/src/core/SkColorShader.h @@ -36,10 +36,8 @@ public: uint32_t getFlags() const override; void shadeSpan(int x, int y, SkPMColor span[], int count) override; void shadeSpanAlpha(int x, int y, uint8_t alpha[], int count) override; - void shadeSpan4f(int x, int y, SkPM4f[], int count) override; private: - SkPM4f fPM4f; SkPMColor fPMColor; uint32_t fFlags; diff --git a/src/core/SkMathPriv.h b/src/core/SkMathPriv.h index 6cca44e958..b9184a0726 100644 --- a/src/core/SkMathPriv.h +++ b/src/core/SkMathPriv.h @@ -78,8 +78,4 @@ static inline unsigned SkDiv255Round(unsigned prod) { return (prod + (prod >> 8)) >> 8; } -static inline float SkPinToUnitFloat(float x) { - return SkTMin(SkTMax(x, 0.0f), 1.0f); -} - #endif diff --git a/src/core/SkShader.cpp b/src/core/SkShader.cpp index 856b659213..bd3876a69b 100644 --- a/src/core/SkShader.cpp +++ b/src/core/SkShader.cpp @@ -117,10 +117,6 @@ SkShader::Context::ShadeProc SkShader::Context::asAShadeProc(void** ctx) { return nullptr; } -void SkShader::Context::shadeSpan4f(int x, int y, SkPM4f[], int count) { - SkASSERT(false && "shadeSpan4f called but not implemented"); -} - #include "SkColorPriv.h" #define kTempColorQuadCount 6 // balance between speed (larger) and saving stack-space @@ -283,11 +279,7 @@ SkColorShader::ColorShaderContext::ColorShaderContext(const SkColorShader& shade } fPMColor = SkPackARGB32(a, r, g, b); - SkColor4f c4 = SkColor4f::FromColor(shader.fColor); - c4.fA *= rec.fPaint->getAlpha() / 255.0f; - fPM4f = c4.premul(); - - fFlags = kConstInY32_Flag | kSupports4f_Flag; + fFlags = kConstInY32_Flag; if (255 == a) { fFlags |= kOpaqueAlpha_Flag; } @@ -301,12 +293,6 @@ void SkColorShader::ColorShaderContext::shadeSpanAlpha(int x, int y, uint8_t alp memset(alpha, SkGetPackedA32(fPMColor), count); } -void SkColorShader::ColorShaderContext::shadeSpan4f(int x, int y, SkPM4f span[], int count) { - for (int i = 0; i < count; ++i) { - span[i] = fPM4f; - } -} - SkShader::GradientType SkColorShader::asAGradient(GradientInfo* info) const { if (info) { if (info->fColors && info->fColorCount >= 1) { |