aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2018-07-30 14:48:15 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-07-30 19:40:03 +0000
commitf7dcd76c552a4e93a75a3808289de69a997da169 (patch)
tree29fe08e9681f29e3d3d2af8e721ecfba6dd09beb /src/effects
parent7226c232d73356a37ec8cfef0ed55147e68dd2fd (diff)
Remove array of TextureSampler pointers from GrIOResourceProcessor.
Instead store sampler count on base class and subclasses implement a virtual to get the ith sampler. Change-Id: I13e2447a6467a09761d8615acb4aa360b87b1476 Reviewed-on: https://skia-review.googlesource.com/141563 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/effects')
-rw-r--r--src/effects/SkHighContrastFilter.cpp3
-rw-r--r--src/effects/SkTableColorFilter.cpp4
-rw-r--r--src/effects/imagefilters/SkDisplacementMapEffect.cpp10
-rw-r--r--src/effects/imagefilters/SkLightingImageFilter.cpp6
-rw-r--r--src/effects/imagefilters/SkMorphologyImageFilter.cpp6
5 files changed, 18 insertions, 11 deletions
diff --git a/src/effects/SkHighContrastFilter.cpp b/src/effects/SkHighContrastFilter.cpp
index 2d0b0f97fe..48bcb405af 100644
--- a/src/effects/SkHighContrastFilter.cpp
+++ b/src/effects/SkHighContrastFilter.cpp
@@ -177,8 +177,7 @@ private:
HighContrastFilterEffect(const SkHighContrastConfig& config, bool linearize)
: INHERITED(kHighContrastFilterEffect_ClassID, kNone_OptimizationFlags)
, fConfig(config)
- , fLinearize(linearize) {
- }
+ , fLinearize(linearize) {}
GrGLSLFragmentProcessor* onCreateGLSLInstance() const override;
diff --git a/src/effects/SkTableColorFilter.cpp b/src/effects/SkTableColorFilter.cpp
index fa68d11e51..25cfa6bd96 100644
--- a/src/effects/SkTableColorFilter.cpp
+++ b/src/effects/SkTableColorFilter.cpp
@@ -316,6 +316,8 @@ private:
ColorTableEffect(sk_sp<GrTextureProxy> proxy, sk_sp<GrTextureStripAtlas> atlas, int row);
+ const TextureSampler& onTextureSampler(int) const override { return fTextureSampler; }
+
GR_DECLARE_FRAGMENT_PROCESSOR_TEST
TextureSampler fTextureSampler;
@@ -455,7 +457,7 @@ ColorTableEffect::ColorTableEffect(sk_sp<GrTextureProxy> proxy,
, fTextureSampler(std::move(proxy))
, fAtlas(std::move(atlas))
, fRow(row) {
- this->addTextureSampler(&fTextureSampler);
+ this->setTextureSamplerCnt(1);
}
ColorTableEffect::~ColorTableEffect() {
diff --git a/src/effects/imagefilters/SkDisplacementMapEffect.cpp b/src/effects/imagefilters/SkDisplacementMapEffect.cpp
index 026c03ea07..2ab8c5e051 100644
--- a/src/effects/imagefilters/SkDisplacementMapEffect.cpp
+++ b/src/effects/imagefilters/SkDisplacementMapEffect.cpp
@@ -208,6 +208,10 @@ private:
sk_sp<GrTextureProxy> displacement, const SkMatrix& offsetMatrix,
sk_sp<GrTextureProxy> color, const SkISize& colorDimensions);
+ const TextureSampler& onTextureSampler(int i) const override {
+ return IthTextureSampler(i, fDisplacementSampler, fColorSampler);
+ }
+
GR_DECLARE_FRAGMENT_PROCESSOR_TEST
GrCoordTransform fDisplacementTransform;
@@ -461,9 +465,8 @@ GrDisplacementMapEffect::GrDisplacementMapEffect(
, fYChannelSelector(yChannelSelector)
, fScale(scale) {
this->addCoordTransform(&fDisplacementTransform);
- this->addTextureSampler(&fDisplacementSampler);
this->addCoordTransform(&fColorTransform);
- this->addTextureSampler(&fColorSampler);
+ this->setTextureSamplerCnt(2);
}
GrDisplacementMapEffect::GrDisplacementMapEffect(const GrDisplacementMapEffect& that)
@@ -478,9 +481,8 @@ GrDisplacementMapEffect::GrDisplacementMapEffect(const GrDisplacementMapEffect&
, fYChannelSelector(that.fYChannelSelector)
, fScale(that.fScale) {
this->addCoordTransform(&fDisplacementTransform);
- this->addTextureSampler(&fDisplacementSampler);
this->addCoordTransform(&fColorTransform);
- this->addTextureSampler(&fColorSampler);
+ this->setTextureSamplerCnt(2);
}
GrDisplacementMapEffect::~GrDisplacementMapEffect() {}
diff --git a/src/effects/imagefilters/SkLightingImageFilter.cpp b/src/effects/imagefilters/SkLightingImageFilter.cpp
index 9a560b4ceb..486a3efd65 100644
--- a/src/effects/imagefilters/SkLightingImageFilter.cpp
+++ b/src/effects/imagefilters/SkLightingImageFilter.cpp
@@ -613,6 +613,8 @@ protected:
bool onIsEqual(const GrFragmentProcessor&) const override;
private:
+ const TextureSampler& onTextureSampler(int) const override { return fTextureSampler; }
+
GrCoordTransform fCoordTransform;
GrTextureDomain fDomain;
TextureSampler fTextureSampler;
@@ -1696,7 +1698,7 @@ GrLightingEffect::GrLightingEffect(ClassID classID,
, fFilterMatrix(matrix)
, fBoundaryMode(boundaryMode) {
this->addCoordTransform(&fCoordTransform);
- this->addTextureSampler(&fTextureSampler);
+ this->setTextureSamplerCnt(1);
}
GrLightingEffect::GrLightingEffect(const GrLightingEffect& that)
@@ -1709,7 +1711,7 @@ GrLightingEffect::GrLightingEffect(const GrLightingEffect& that)
, fFilterMatrix(that.fFilterMatrix)
, fBoundaryMode(that.fBoundaryMode) {
this->addCoordTransform(&fCoordTransform);
- this->addTextureSampler(&fTextureSampler);
+ this->setTextureSamplerCnt(1);
}
bool GrLightingEffect::onIsEqual(const GrFragmentProcessor& sBase) const {
diff --git a/src/effects/imagefilters/SkMorphologyImageFilter.cpp b/src/effects/imagefilters/SkMorphologyImageFilter.cpp
index 899c5a1d57..99060b9453 100644
--- a/src/effects/imagefilters/SkMorphologyImageFilter.cpp
+++ b/src/effects/imagefilters/SkMorphologyImageFilter.cpp
@@ -167,6 +167,8 @@ private:
bool onIsEqual(const GrFragmentProcessor&) const override;
+ const TextureSampler& onTextureSampler(int i) const override { return fTextureSampler; }
+
GrMorphologyEffect(sk_sp<GrTextureProxy>, Direction, int radius, Type, const float range[2]);
explicit GrMorphologyEffect(const GrMorphologyEffect&);
@@ -317,7 +319,7 @@ GrMorphologyEffect::GrMorphologyEffect(sk_sp<GrTextureProxy> proxy,
, fType(type)
, fUseRange(SkToBool(range)) {
this->addCoordTransform(&fCoordTransform);
- this->addTextureSampler(&fTextureSampler);
+ this->setTextureSamplerCnt(1);
if (fUseRange) {
fRange[0] = range[0];
fRange[1] = range[1];
@@ -333,7 +335,7 @@ GrMorphologyEffect::GrMorphologyEffect(const GrMorphologyEffect& that)
, fType(that.fType)
, fUseRange(that.fUseRange) {
this->addCoordTransform(&fCoordTransform);
- this->addTextureSampler(&fTextureSampler);
+ this->setTextureSamplerCnt(1);
if (that.fUseRange) {
fRange[0] = that.fRange[0];
fRange[1] = that.fRange[1];