aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/shaders/gradients
diff options
context:
space:
mode:
Diffstat (limited to 'src/shaders/gradients')
-rw-r--r--src/shaders/gradients/SkGradientShader.cpp5
-rw-r--r--src/shaders/gradients/SkGradientShaderPriv.h2
2 files changed, 4 insertions, 3 deletions
diff --git a/src/shaders/gradients/SkGradientShader.cpp b/src/shaders/gradients/SkGradientShader.cpp
index 8536dd82eb..aa44ae6f3a 100644
--- a/src/shaders/gradients/SkGradientShader.cpp
+++ b/src/shaders/gradients/SkGradientShader.cpp
@@ -1294,8 +1294,7 @@ GrGradientEffect::GrGradientEffect(ClassID classID, const CreateArgs& args, bool
fTextureSampler.reset(std::move(proxy), samplerState);
fYCoord = SK_ScalarHalf;
}
-
- this->addTextureSampler(&fTextureSampler);
+ this->setTextureSamplerCnt(1);
}
this->addCoordTransform(&fCoordTransform);
@@ -1316,7 +1315,7 @@ GrGradientEffect::GrGradientEffect(const GrGradientEffect& that)
, fPremulType(that.fPremulType) {
this->addCoordTransform(&fCoordTransform);
if (fStrategy == InterpolationStrategy::kTexture) {
- this->addTextureSampler(&fTextureSampler);
+ this->setTextureSamplerCnt(1);
}
if (this->useAtlas()) {
fAtlas->lockRow(fRow);
diff --git a/src/shaders/gradients/SkGradientShaderPriv.h b/src/shaders/gradients/SkGradientShaderPriv.h
index 0f3e73603a..6aa5da2457 100644
--- a/src/shaders/gradients/SkGradientShaderPriv.h
+++ b/src/shaders/gradients/SkGradientShaderPriv.h
@@ -302,6 +302,8 @@ private:
void addInterval(const SkGradientShaderBase&, const SkColor4f* colors,
size_t idx0, size_t idx1);
+ const TextureSampler& onTextureSampler(int i) const override { return fTextureSampler; }
+
static OptimizationFlags OptFlags(bool isOpaque);
// Interpolation intervals, encoded as 4f tuples of (scale, bias)