Remove stale gradient color space assert
SkGradientShaderBase asserts gammaIsLinear() -- but we don't enforce
this in factories.
Based on comments, this may be a stale restriction. Can we drop it?
Bug: chromium:798208
Change-Id: Id9639cb2bb87f112b26c05372f2a3181c139e5ec
Reviewed-on: https://skia-review.googlesource.com/123860
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
diff --git a/src/shaders/gradients/SkGradientShader.cpp b/src/shaders/gradients/SkGradientShader.cpp
index cb138e0..60b9e34 100644
--- a/src/shaders/gradients/SkGradientShader.cpp
+++ b/src/shaders/gradients/SkGradientShader.cpp
@@ -118,6 +118,7 @@
SkGradientShaderBase::SkGradientShaderBase(const Descriptor& desc, const SkMatrix& ptsToUnit)
: INHERITED(desc.fLocalMatrix)
, fPtsToUnit(ptsToUnit)
+ , fColorSpace(desc.fColorSpace ? desc.fColorSpace : SkColorSpace::MakeSRGBLinear())
, fColorsAreOpaque(true)
{
fPtsToUnit.getType(); // Precache so reads are threadsafe.
@@ -168,16 +169,6 @@
*origColors = desc.fColors[desc.fCount - 1];
}
- if (!desc.fColorSpace) {
- // This happens if we were constructed from SkColors, so our colors are really sRGB
- fColorSpace = SkColorSpace::MakeSRGBLinear();
- } else {
- // The color space refers to the float colors, so it must be linear gamma
- // TODO: GPU code no longer requires this (see GrGradientEffect). Remove this restriction?
- SkASSERT(desc.fColorSpace->gammaIsLinear());
- fColorSpace = desc.fColorSpace;
- }
-
if (desc.fPos) {
SkScalar prev = 0;
SkScalar* origPosPtr = fOrigPos;