aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/core/SkImageFilter.cpp6
-rw-r--r--src/effects/SkAlphaThresholdFilter.cpp3
-rw-r--r--src/effects/SkArithmeticImageFilter.cpp6
-rw-r--r--src/effects/SkDisplacementMapEffect.cpp4
-rw-r--r--src/effects/SkMagnifierImageFilter.cpp3
-rw-r--r--src/effects/SkXfermodeImageFilter.cpp6
-rw-r--r--src/gpu/GrColorSpaceXform.cpp53
-rw-r--r--src/gpu/GrColorSpaceXform.h13
-rw-r--r--src/gpu/GrTestUtils.cpp7
-rw-r--r--src/gpu/GrTextureAdjuster.cpp3
-rw-r--r--src/gpu/GrTextureMaker.cpp3
-rw-r--r--src/gpu/SkGpuDevice.cpp7
-rw-r--r--src/gpu/SkGpuDevice_drawTexture.cpp3
-rw-r--r--src/shaders/SkColorShader.cpp4
-rw-r--r--src/shaders/SkImageShader.cpp2
-rw-r--r--src/shaders/gradients/SkGradientShaderPriv.h1
16 files changed, 40 insertions, 84 deletions
diff --git a/src/core/SkImageFilter.cpp b/src/core/SkImageFilter.cpp
index 9996c5f47b..f6d2c63547 100644
--- a/src/core/SkImageFilter.cpp
+++ b/src/core/SkImageFilter.cpp
@@ -316,11 +316,7 @@ sk_sp<SkSpecialImage> SkImageFilter::ImageToColorSpace(SkSpecialImage* src,
// object. If that produces something, then both are tagged, and the source is in a different
// gamut than the dest. There is some overhead to making the xform, but those are cached, and
// if we get one back, that means we're about to use it during the conversion anyway.
- //
- // TODO: Fix this check, to handle wider support of transfer functions, config mismatch, etc.
- // For now, continue to just check if gamut is different, which may not be sufficient.
- auto colorSpaceXform = GrColorSpaceXform::MakeGamutXform(src->getColorSpace(),
- outProps.colorSpace());
+ auto colorSpaceXform = GrColorSpaceXform::Make(src->getColorSpace(), outProps.colorSpace());
if (!colorSpaceXform) {
// No xform needed, just return the original image
diff --git a/src/effects/SkAlphaThresholdFilter.cpp b/src/effects/SkAlphaThresholdFilter.cpp
index 5bd2571842..9dc8ae4b02 100644
--- a/src/effects/SkAlphaThresholdFilter.cpp
+++ b/src/effects/SkAlphaThresholdFilter.cpp
@@ -174,10 +174,9 @@ sk_sp<SkSpecialImage> SkAlphaThresholdFilterImpl::onFilterImage(SkSpecialImage*
}
const OutputProperties& outProps = ctx.outputProperties();
- GrPixelConfig inputConfig = inputProxy->config();
auto textureFP = GrSimpleTextureEffect::Make(std::move(inputProxy), SkMatrix::I());
textureFP = GrColorSpaceXformEffect::Make(std::move(textureFP), input->getColorSpace(),
- inputConfig, outProps.colorSpace());
+ outProps.colorSpace());
if (!textureFP) {
return nullptr;
}
diff --git a/src/effects/SkArithmeticImageFilter.cpp b/src/effects/SkArithmeticImageFilter.cpp
index 1a16465d9d..3fc065536b 100644
--- a/src/effects/SkArithmeticImageFilter.cpp
+++ b/src/effects/SkArithmeticImageFilter.cpp
@@ -311,13 +311,12 @@ sk_sp<SkSpecialImage> ArithmeticImageFilterImpl::filterImageGPU(
if (backgroundProxy) {
SkMatrix backgroundMatrix = SkMatrix::MakeTrans(-SkIntToScalar(backgroundOffset.fX),
-SkIntToScalar(backgroundOffset.fY));
- GrPixelConfig bgConfig = backgroundProxy->config();
bgFP = GrTextureDomainEffect::Make(
std::move(backgroundProxy), backgroundMatrix,
GrTextureDomain::MakeTexelDomain(background->subset()),
GrTextureDomain::kDecal_Mode, GrSamplerState::Filter::kNearest);
bgFP = GrColorSpaceXformEffect::Make(std::move(bgFP), background->getColorSpace(),
- bgConfig, outputProperties.colorSpace());
+ outputProperties.colorSpace());
} else {
bgFP = GrConstColorProcessor::Make(GrColor4f::TransparentBlack(),
GrConstColorProcessor::InputMode::kIgnore);
@@ -326,13 +325,12 @@ sk_sp<SkSpecialImage> ArithmeticImageFilterImpl::filterImageGPU(
if (foregroundProxy) {
SkMatrix foregroundMatrix = SkMatrix::MakeTrans(-SkIntToScalar(foregroundOffset.fX),
-SkIntToScalar(foregroundOffset.fY));
- GrPixelConfig fgConfig = foregroundProxy->config();
auto foregroundFP = GrTextureDomainEffect::Make(
std::move(foregroundProxy), foregroundMatrix,
GrTextureDomain::MakeTexelDomain(foreground->subset()),
GrTextureDomain::kDecal_Mode, GrSamplerState::Filter::kNearest);
foregroundFP = GrColorSpaceXformEffect::Make(std::move(foregroundFP),
- foreground->getColorSpace(), fgConfig,
+ foreground->getColorSpace(),
outputProperties.colorSpace());
paint.addColorFragmentProcessor(std::move(foregroundFP));
diff --git a/src/effects/SkDisplacementMapEffect.cpp b/src/effects/SkDisplacementMapEffect.cpp
index 9ac46f1713..8983fcacbd 100644
--- a/src/effects/SkDisplacementMapEffect.cpp
+++ b/src/effects/SkDisplacementMapEffect.cpp
@@ -293,7 +293,6 @@ sk_sp<SkSpecialImage> SkDisplacementMapEffect::onFilterImage(SkSpecialImage* sou
SkIntToScalar(colorOffset.fY - displOffset.fY));
SkColorSpace* colorSpace = ctx.outputProperties().colorSpace();
- GrPixelConfig colorConfig = colorProxy->config();
std::unique_ptr<GrFragmentProcessor> fp =
GrDisplacementMapEffect::Make(fXChannelSelector,
fYChannelSelector,
@@ -302,8 +301,7 @@ sk_sp<SkSpecialImage> SkDisplacementMapEffect::onFilterImage(SkSpecialImage* sou
offsetMatrix,
std::move(colorProxy),
SkISize::Make(color->width(), color->height()));
- fp = GrColorSpaceXformEffect::Make(std::move(fp), color->getColorSpace(), colorConfig,
- colorSpace);
+ fp = GrColorSpaceXformEffect::Make(std::move(fp), color->getColorSpace(), colorSpace);
GrPaint paint;
paint.addColorFragmentProcessor(std::move(fp));
diff --git a/src/effects/SkMagnifierImageFilter.cpp b/src/effects/SkMagnifierImageFilter.cpp
index 7df30cee72..40624ab05a 100644
--- a/src/effects/SkMagnifierImageFilter.cpp
+++ b/src/effects/SkMagnifierImageFilter.cpp
@@ -108,7 +108,6 @@ sk_sp<SkSpecialImage> SkMagnifierImageFilter::onFilterImage(SkSpecialImage* sour
offset->fY = bounds.top();
bounds.offset(-inputOffset);
- GrPixelConfig inputConfig = inputProxy->config();
auto fp = GrMagnifierEffect::Make(std::move(inputProxy),
bounds,
fSrcRect,
@@ -117,7 +116,7 @@ sk_sp<SkSpecialImage> SkMagnifierImageFilter::onFilterImage(SkSpecialImage* sour
bounds.width() * invInset,
bounds.height() * invInset);
fp = GrColorSpaceXformEffect::Make(std::move(fp), input->getColorSpace(),
- inputConfig, ctx.outputProperties().colorSpace());
+ ctx.outputProperties().colorSpace());
if (!fp) {
return nullptr;
}
diff --git a/src/effects/SkXfermodeImageFilter.cpp b/src/effects/SkXfermodeImageFilter.cpp
index d32488d5f6..7393ab9485 100644
--- a/src/effects/SkXfermodeImageFilter.cpp
+++ b/src/effects/SkXfermodeImageFilter.cpp
@@ -281,13 +281,12 @@ sk_sp<SkSpecialImage> SkXfermodeImageFilter_Base::filterImageGPU(
if (backgroundProxy) {
SkMatrix bgMatrix = SkMatrix::MakeTrans(-SkIntToScalar(backgroundOffset.fX),
-SkIntToScalar(backgroundOffset.fY));
- GrPixelConfig bgConfig = backgroundProxy->config();
bgFP = GrTextureDomainEffect::Make(std::move(backgroundProxy), bgMatrix,
GrTextureDomain::MakeTexelDomain(background->subset()),
GrTextureDomain::kDecal_Mode,
GrSamplerState::Filter::kNearest);
bgFP = GrColorSpaceXformEffect::Make(std::move(bgFP), background->getColorSpace(),
- bgConfig, outputProperties.colorSpace());
+ outputProperties.colorSpace());
} else {
bgFP = GrConstColorProcessor::Make(GrColor4f::TransparentBlack(),
GrConstColorProcessor::InputMode::kIgnore);
@@ -296,13 +295,12 @@ sk_sp<SkSpecialImage> SkXfermodeImageFilter_Base::filterImageGPU(
if (foregroundProxy) {
SkMatrix fgMatrix = SkMatrix::MakeTrans(-SkIntToScalar(foregroundOffset.fX),
-SkIntToScalar(foregroundOffset.fY));
- GrPixelConfig fgConfig = foregroundProxy->config();
auto foregroundFP = GrTextureDomainEffect::Make(
std::move(foregroundProxy), fgMatrix,
GrTextureDomain::MakeTexelDomain(foreground->subset()),
GrTextureDomain::kDecal_Mode, GrSamplerState::Filter::kNearest);
foregroundFP = GrColorSpaceXformEffect::Make(std::move(foregroundFP),
- foreground->getColorSpace(), fgConfig,
+ foreground->getColorSpace(),
outputProperties.colorSpace());
paint.addColorFragmentProcessor(std::move(foregroundFP));
diff --git a/src/gpu/GrColorSpaceXform.cpp b/src/gpu/GrColorSpaceXform.cpp
index 84c6bdba0e..1256023c00 100644
--- a/src/gpu/GrColorSpaceXform.cpp
+++ b/src/gpu/GrColorSpaceXform.cpp
@@ -62,8 +62,7 @@ GrColorSpaceXform::GrColorSpaceXform(const SkColorSpaceTransferFn& srcTransferFn
static SkSpinlock gColorSpaceXformCacheSpinlock;
-sk_sp<GrColorSpaceXform> GrColorSpaceXform::Make(SkColorSpace* src, GrPixelConfig srcConfig,
- SkColorSpace* dst) {
+sk_sp<GrColorSpaceXform> GrColorSpaceXform::Make(SkColorSpace* src, SkColorSpace* dst) {
if (!dst) {
// No transformation is performed in legacy mode
return nullptr;
@@ -71,47 +70,22 @@ sk_sp<GrColorSpaceXform> GrColorSpaceXform::Make(SkColorSpace* src, GrPixelConfi
// Treat null sources as sRGB
if (!src) {
- if (GrPixelConfigIsFloatingPoint(srcConfig)) {
- src = SkColorSpace::MakeSRGBLinear().get();
- } else {
- src = SkColorSpace::MakeSRGB().get();
- }
+ src = SkColorSpace::MakeSRGB().get();
}
uint32_t flags = 0;
SkColorSpaceTransferFn srcTransferFn;
- // kUnknown_GrPixelConfig is a sentinel that means we don't care about transfer functions,
- // just the gamut xform.
- if (kUnknown_GrPixelConfig != srcConfig) {
- // Determine if src transfer function is needed, based on src config and color space
- if (GrPixelConfigIsSRGB(srcConfig)) {
- // Source texture is sRGB, will be converted to linear when we sample
- if (src->gammaCloseToSRGB()) {
- // Hardware linearize does the right thing
- } else if (src->gammaIsLinear()) {
- // Oops, need to undo the (extra) linearize
- flags |= kApplyInverseSRGB_Flag;
- } else if (src->isNumericalTransferFn(&srcTransferFn)) {
- // Need to undo the (extra) linearize, then apply the correct transfer function
- flags |= (kApplyInverseSRGB_Flag | kApplyTransferFn_Flag);
- } else {
- // We don't (yet) support more complex transfer functions
- return nullptr;
- }
- } else {
- // Source texture is some non-sRGB format, we consider it linearly encoded
- if (src->gammaIsLinear()) {
- // Linear sampling does the right thing
- } else if (src->isNumericalTransferFn(&srcTransferFn)) {
- // Need to manually apply some transfer function (including sRGB)
- flags |= kApplyTransferFn_Flag;
- } else {
- // We don't (yet) support more complex transfer functions
- return nullptr;
- }
- }
+ if (src->gammaIsLinear()) {
+ // Linear sampling does the right thing
+ } else if (src->isNumericalTransferFn(&srcTransferFn)) {
+ // Need to manually apply some transfer function
+ flags |= kApplyTransferFn_Flag;
+ } else {
+ // We don't (yet) support more complex transfer functions
+ return nullptr;
}
+
if (src == dst && (0 == flags)) {
// Quick equality check - no conversion (or transfer function) needed in this case
return nullptr;
@@ -290,13 +264,12 @@ GrFragmentProcessor::OptimizationFlags GrColorSpaceXformEffect::OptFlags(
std::unique_ptr<GrFragmentProcessor> GrColorSpaceXformEffect::Make(
std::unique_ptr<GrFragmentProcessor> child,
- SkColorSpace* src, GrPixelConfig srcConfig,
- SkColorSpace* dst) {
+ SkColorSpace* src, SkColorSpace* dst) {
if (!child) {
return nullptr;
}
- auto colorXform = GrColorSpaceXform::Make(src, srcConfig, dst);
+ auto colorXform = GrColorSpaceXform::Make(src, dst);
if (colorXform) {
return std::unique_ptr<GrFragmentProcessor>(
new GrColorSpaceXformEffect(std::move(child), std::move(colorXform)));
diff --git a/src/gpu/GrColorSpaceXform.h b/src/gpu/GrColorSpaceXform.h
index b3e0587eca..b925fb2b87 100644
--- a/src/gpu/GrColorSpaceXform.h
+++ b/src/gpu/GrColorSpaceXform.h
@@ -21,10 +21,14 @@ class GrColorSpaceXform : public SkRefCnt {
public:
GrColorSpaceXform(const SkColorSpaceTransferFn&, const SkMatrix44&, uint32_t);
- static sk_sp<GrColorSpaceXform> Make(SkColorSpace* src, GrPixelConfig srcConfig,
- SkColorSpace* dst);
+ static sk_sp<GrColorSpaceXform> Make(SkColorSpace* src, SkColorSpace* dst);
static sk_sp<GrColorSpaceXform> MakeGamutXform(SkColorSpace* src, SkColorSpace* dst) {
- auto result = Make(src, kUnknown_GrPixelConfig, dst);
+ sk_sp<SkColorSpace> linearSrc = sk_ref_sp(src);
+ if (!linearSrc) {
+ linearSrc = SkColorSpace::MakeSRGBLinear();
+ }
+ linearSrc = linearSrc->makeLinearGamma();
+ auto result = Make(linearSrc.get(), dst);
SkASSERT(!result || 0 == (result->fFlags & ~kApplyGamutXform_Flag));
return result;
}
@@ -76,8 +80,7 @@ public:
* the color space of the output from src to dst.
*/
static std::unique_ptr<GrFragmentProcessor> Make(std::unique_ptr<GrFragmentProcessor> child,
- SkColorSpace* src, GrPixelConfig srcConfig,
- SkColorSpace* dst);
+ SkColorSpace* src, SkColorSpace* dst);
const char* name() const override { return "ColorSpaceXform"; }
std::unique_ptr<GrFragmentProcessor> clone() const override;
diff --git a/src/gpu/GrTestUtils.cpp b/src/gpu/GrTestUtils.cpp
index 2aff35dad2..e29e8f596c 100644
--- a/src/gpu/GrTestUtils.cpp
+++ b/src/gpu/GrTestUtils.cpp
@@ -317,6 +317,7 @@ sk_sp<SkColorSpace> TestColorSpace(SkRandom* random) {
}
sk_sp<GrColorSpaceXform> TestColorXform(SkRandom* random) {
+ // TODO: Add many more kinds of xforms here
static sk_sp<GrColorSpaceXform> gXforms[3];
static bool gOnce;
if (!gOnce) {
@@ -325,10 +326,8 @@ sk_sp<GrColorSpaceXform> TestColorXform(SkRandom* random) {
sk_sp<SkColorSpace> spin = SkColorSpace::MakeSRGB()->makeColorSpin();
// No gamut change
gXforms[0] = nullptr;
- // To different gamut (with automatic transfer function)
- gXforms[1] = GrColorSpaceXform::Make(srgb.get(), kSRGBA_8888_GrPixelConfig, spin.get());
- // To different gamut (with manual transfer function)
- gXforms[2] = GrColorSpaceXform::Make(spin.get(), kRGBA_8888_GrPixelConfig, srgb.get());
+ gXforms[1] = GrColorSpaceXform::Make(srgb.get(), spin.get());
+ gXforms[2] = GrColorSpaceXform::Make(spin.get(), srgb.get());
}
return gXforms[random->nextULessThan(static_cast<uint32_t>(SK_ARRAY_COUNT(gXforms)))];
}
diff --git a/src/gpu/GrTextureAdjuster.cpp b/src/gpu/GrTextureAdjuster.cpp
index 05b1cf4241..4b21bac9d0 100644
--- a/src/gpu/GrTextureAdjuster.cpp
+++ b/src/gpu/GrTextureAdjuster.cpp
@@ -162,8 +162,7 @@ std::unique_ptr<GrFragmentProcessor> GrTextureAdjuster::createFragmentProcessor(
}
SkASSERT(kNoDomain_DomainMode == domainMode ||
(domain.fLeft <= domain.fRight && domain.fTop <= domain.fBottom));
- GrPixelConfig config = proxy->config();
auto fp = CreateFragmentProcessorForDomainAndFilter(std::move(proxy), textureMatrix,
domainMode, domain, filterOrNullForBicubic);
- return GrColorSpaceXformEffect::Make(std::move(fp), fColorSpace, config, dstColorSpace);
+ return GrColorSpaceXformEffect::Make(std::move(fp), fColorSpace, dstColorSpace);
}
diff --git a/src/gpu/GrTextureMaker.cpp b/src/gpu/GrTextureMaker.cpp
index a8295129ef..47eeeaaeb6 100644
--- a/src/gpu/GrTextureMaker.cpp
+++ b/src/gpu/GrTextureMaker.cpp
@@ -154,10 +154,9 @@ std::unique_ptr<GrFragmentProcessor> GrTextureMaker::createFragmentProcessor(
DetermineDomainMode(constraintRect, filterConstraint, coordsLimitedToConstraintRect,
proxy.get(), fmForDetermineDomain, &domain);
SkASSERT(kTightCopy_DomainMode != domainMode);
- GrPixelConfig config = proxy->config();
auto fp = CreateFragmentProcessorForDomainAndFilter(std::move(proxy), adjustedMatrix,
domainMode, domain, filterOrNullForBicubic);
- return GrColorSpaceXformEffect::Make(std::move(fp), texColorSpace.get(), config, dstColorSpace);
+ return GrColorSpaceXformEffect::Make(std::move(fp), texColorSpace.get(), dstColorSpace);
}
sk_sp<GrTextureProxy> GrTextureMaker::generateTextureProxyForParams(const CopyParams& copyParams,
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index ee8026c463..ca3d559e36 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -991,7 +991,6 @@ void SkGpuDevice::drawBitmapTile(const SkBitmap& bitmap,
// Construct a GrPaint by setting the bitmap texture as the first effect and then configuring
// the rest from the SkPaint.
std::unique_ptr<GrFragmentProcessor> fp;
- GrPixelConfig config = proxy->config();
if (needsTextureDomain && (SkCanvas::kStrict_SrcRectConstraint == constraint)) {
// Use a constrained texture domain to avoid color bleeding
@@ -1022,7 +1021,7 @@ void SkGpuDevice::drawBitmapTile(const SkBitmap& bitmap,
fp = GrSimpleTextureEffect::Make(std::move(proxy), texMatrix, samplerState);
}
- fp = GrColorSpaceXformEffect::Make(std::move(fp), bitmap.colorSpace(), config,
+ fp = GrColorSpaceXformEffect::Make(std::move(fp), bitmap.colorSpace(),
fRenderTargetContext->colorSpaceInfo().colorSpace());
GrPaint grPaint;
if (!SkPaintToGrPaintWithTexture(this->context(), fRenderTargetContext->colorSpaceInfo(), paint,
@@ -1092,7 +1091,7 @@ void SkGpuDevice::drawSpecial(SkSpecialImage* special1, int left, int top, const
tmpUnfiltered.setImageFilter(nullptr);
auto fp = GrSimpleTextureEffect::Make(std::move(proxy), SkMatrix::I());
- fp = GrColorSpaceXformEffect::Make(std::move(fp), result->getColorSpace(), config,
+ fp = GrColorSpaceXformEffect::Make(std::move(fp), result->getColorSpace(),
fRenderTargetContext->colorSpaceInfo().colorSpace());
if (GrPixelConfigIsAlphaOnly(config)) {
fp = GrFragmentProcessor::MakeInputPremulAndMulByOutput(std::move(fp));
@@ -1416,7 +1415,7 @@ void SkGpuDevice::drawProducerLattice(GrTextureProducer* producer,
if (!proxy) {
return;
}
- auto csxf = GrColorSpaceXform::Make(proxyColorSpace.get(), proxy->config(), dstColorSpace);
+ auto csxf = GrColorSpaceXform::Make(proxyColorSpace.get(), dstColorSpace);
fRenderTargetContext->drawImageLattice(this->clip(), std::move(grPaint), this->ctm(),
std::move(proxy), std::move(csxf), filter,
diff --git a/src/gpu/SkGpuDevice_drawTexture.cpp b/src/gpu/SkGpuDevice_drawTexture.cpp
index 96472814c5..af397cd431 100644
--- a/src/gpu/SkGpuDevice_drawTexture.cpp
+++ b/src/gpu/SkGpuDevice_drawTexture.cpp
@@ -111,8 +111,7 @@ static void draw_texture(const SkPaint& paint, const SkMatrix& ctm, const SkRect
SkAssertResult(srcRect.intersect(SkRect::MakeIWH(proxy->width(), proxy->height())));
srcToDst.mapRect(&dstRect, srcRect);
}
- auto csxf = GrColorSpaceXform::Make(colorSpace, proxy->config(),
- rtc->colorSpaceInfo().colorSpace());
+ auto csxf = GrColorSpaceXform::Make(colorSpace, rtc->colorSpaceInfo().colorSpace());
GrSamplerState::Filter filter;
switch (paint.getFilterQuality()) {
case kNone_SkFilterQuality:
diff --git a/src/shaders/SkColorShader.cpp b/src/shaders/SkColorShader.cpp
index c3f86b9cfb..482c731d00 100644
--- a/src/shaders/SkColorShader.cpp
+++ b/src/shaders/SkColorShader.cpp
@@ -198,9 +198,7 @@ SkShader::GradientType SkColor4Shader::asAGradient(GradientInfo* info) const {
std::unique_ptr<GrFragmentProcessor> SkColor4Shader::asFragmentProcessor(
const GrFPArgs& args) const {
- // Construct an xform assuming float inputs. The color space can have a transfer function on
- // it, which will be applied below.
- auto colorSpaceXform = GrColorSpaceXform::Make(fColorSpace.get(), kRGBA_float_GrPixelConfig,
+ auto colorSpaceXform = GrColorSpaceXform::Make(fColorSpace.get(),
args.fDstColorSpaceInfo->colorSpace());
GrColor4f color = GrColor4f::FromSkColor4f(fColor4);
if (colorSpaceXform) {
diff --git a/src/shaders/SkImageShader.cpp b/src/shaders/SkImageShader.cpp
index b80f6b9bfd..97bd6cb04e 100644
--- a/src/shaders/SkImageShader.cpp
+++ b/src/shaders/SkImageShader.cpp
@@ -239,7 +239,7 @@ std::unique_ptr<GrFragmentProcessor> SkImageShader::asFragmentProcessor(
} else {
inner = GrSimpleTextureEffect::Make(std::move(proxy), lmInverse, samplerState);
}
- inner = GrColorSpaceXformEffect::Make(std::move(inner), texColorSpace.get(), config,
+ inner = GrColorSpaceXformEffect::Make(std::move(inner), texColorSpace.get(),
args.fDstColorSpaceInfo->colorSpace());
if (isAlphaOnly) {
return inner;
diff --git a/src/shaders/gradients/SkGradientShaderPriv.h b/src/shaders/gradients/SkGradientShaderPriv.h
index e50f1a69e4..9a565a8d4a 100644
--- a/src/shaders/gradients/SkGradientShaderPriv.h
+++ b/src/shaders/gradients/SkGradientShaderPriv.h
@@ -273,7 +273,6 @@ protected:
// this FP may include that transformation.
fp = GrColorSpaceXformEffect::Make(std::move(gradientFP),
args.fShader->fColorSpace.get(),
- kRGBA_float_GrPixelConfig,
args.fDstColorSpace);
} else {
fp = std::move(gradientFP);