diff options
author | Brian Salomon <bsalomon@google.com> | 2018-07-30 14:48:15 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-07-30 19:40:03 +0000 |
commit | f7dcd76c552a4e93a75a3808289de69a997da169 (patch) | |
tree | 29fe08e9681f29e3d3d2af8e721ecfba6dd09beb /src/shaders/SkPerlinNoiseShader.cpp | |
parent | 7226c232d73356a37ec8cfef0ed55147e68dd2fd (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/shaders/SkPerlinNoiseShader.cpp')
-rw-r--r-- | src/shaders/SkPerlinNoiseShader.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/shaders/SkPerlinNoiseShader.cpp b/src/shaders/SkPerlinNoiseShader.cpp index 4bc44a6eef..0fc11a3055 100644 --- a/src/shaders/SkPerlinNoiseShader.cpp +++ b/src/shaders/SkPerlinNoiseShader.cpp @@ -764,8 +764,7 @@ private: , fPermutationsSampler(std::move(permutationsProxy)) , fNoiseSampler(std::move(noiseProxy)) , fPaintingData(std::move(paintingData)) { - this->addTextureSampler(&fPermutationsSampler); - this->addTextureSampler(&fNoiseSampler); + this->setTextureSamplerCnt(2); fCoordTransform.reset(matrix); this->addCoordTransform(&fCoordTransform); } @@ -779,11 +778,14 @@ private: , fPermutationsSampler(that.fPermutationsSampler) , fNoiseSampler(that.fNoiseSampler) , fPaintingData(new SkPerlinNoiseShaderImpl::PaintingData(*that.fPaintingData)) { - this->addTextureSampler(&fPermutationsSampler); - this->addTextureSampler(&fNoiseSampler); + this->setTextureSamplerCnt(2); this->addCoordTransform(&fCoordTransform); } + const TextureSampler& onTextureSampler(int i) const override { + return IthTextureSampler(i, fPermutationsSampler, fNoiseSampler); + } + GR_DECLARE_FRAGMENT_PROCESSOR_TEST SkPerlinNoiseShaderImpl::Type fType; @@ -1185,8 +1187,7 @@ private: , fPermutationsSampler(std::move(permutationsProxy)) , fGradientSampler(std::move(gradientProxy)) , fPaintingData(std::move(paintingData)) { - this->addTextureSampler(&fPermutationsSampler); - this->addTextureSampler(&fGradientSampler); + this->setTextureSamplerCnt(2); fCoordTransform.reset(matrix); this->addCoordTransform(&fCoordTransform); } @@ -1199,11 +1200,14 @@ private: , fPermutationsSampler(that.fPermutationsSampler) , fGradientSampler(that.fGradientSampler) , fPaintingData(new SkPerlinNoiseShaderImpl::PaintingData(*that.fPaintingData)) { - this->addTextureSampler(&fPermutationsSampler); - this->addTextureSampler(&fGradientSampler); + this->setTextureSamplerCnt(2); this->addCoordTransform(&fCoordTransform); } + const TextureSampler& onTextureSampler(int i) const override { + return IthTextureSampler(i, fPermutationsSampler, fGradientSampler); + } + GR_DECLARE_FRAGMENT_PROCESSOR_TEST GrCoordTransform fCoordTransform; |