diff options
author | robertphillips <robertphillips@google.com> | 2016-02-05 07:15:39 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-05 07:15:39 -0800 |
commit | d3b32bf8322877cf263229735aef4f04df5415c4 (patch) | |
tree | 3293ea0e89e00ded9ddbf8fefef7e34fd7a5e455 /experimental | |
parent | f49c75a8f1eacf8e6cb19ce0dcc1cc9bcbf1f96e (diff) |
Last bit of GrGLSLFragmentProcessor-derived class cleanup
I believe these are the last two that used the dispreferred constructor pattern.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1667953005
Review URL: https://codereview.chromium.org/1667953005
Diffstat (limited to 'experimental')
-rw-r--r-- | experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp | 37 |
1 files changed, 13 insertions, 24 deletions
diff --git a/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp b/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp index 8afbee0827..233638253c 100644 --- a/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp +++ b/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp @@ -609,8 +609,6 @@ void SkPerlinNoiseShader2::PerlinNoiseShaderContext::shadeSpan( class GrGLPerlinNoise2 : public GrGLSLFragmentProcessor { public: - GrGLPerlinNoise2(const GrProcessor&); - void emitCode(EmitArgs&) override; static inline void GenKey(const GrProcessor&, const GrGLSLCaps&, GrProcessorKeyBuilder* b); @@ -619,14 +617,9 @@ protected: void onSetData(const GrGLSLProgramDataManager&, const GrProcessor&) override; private: - GrGLSLProgramDataManager::UniformHandle fStitchDataUni; - SkPerlinNoiseShader2::Type fType; - bool fStitchTiles; - int fNumOctaves; GrGLSLProgramDataManager::UniformHandle fBaseFrequencyUni; -private: typedef GrGLSLFragmentProcessor INHERITED; }; @@ -657,7 +650,7 @@ public: private: GrGLSLFragmentProcessor* onCreateGLSLInstance() const override { - return new GrGLPerlinNoise2(*this); + return new GrGLPerlinNoise2; } virtual void onGetGLSLProcessorKey(const GrGLSLCaps& caps, @@ -736,13 +729,9 @@ const GrFragmentProcessor* GrPerlinNoise2Effect::TestCreate(GrProcessorTestData* kNone_SkFilterQuality); } -GrGLPerlinNoise2::GrGLPerlinNoise2(const GrProcessor& processor) - : fType(processor.cast<GrPerlinNoise2Effect>().type()) - , fStitchTiles(processor.cast<GrPerlinNoise2Effect>().stitchTiles()) - , fNumOctaves(processor.cast<GrPerlinNoise2Effect>().numOctaves()) { -} - void GrGLPerlinNoise2::emitCode(EmitArgs& args) { + const GrPerlinNoise2Effect& pne = args.fFp.cast<GrPerlinNoise2Effect>(); + GrGLSLFragmentBuilder* fsBuilder = args.fFragBuilder; GrGLSLUniformHandler* uniformHandler = args.fUniformHandler; SkString vCoords = fsBuilder->ensureFSCoords2D(args.fCoords, 0); @@ -753,7 +742,7 @@ void GrGLPerlinNoise2::emitCode(EmitArgs& args) { const char* baseFrequencyUni = uniformHandler->getUniformCStr(fBaseFrequencyUni); const char* stitchDataUni = nullptr; - if (fStitchTiles) { + if (pne.stitchTiles()) { fStitchDataUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragment_Visibility, kVec2f_GrSLType, kDefault_GrSLPrecision, "stitchData"); @@ -806,7 +795,7 @@ void GrGLPerlinNoise2::emitCode(EmitArgs& args) { noiseSmooth, fractVal, fractVal, fractVal); // Adjust frequencies if we're stitching tiles - if (fStitchTiles) { + if (pne.stitchTiles()) { noiseCode.appendf("\n\tif(%s.x >= %s.x) { %s.x -= %s.x; }", floorVal, stitchData, floorVal, stitchData); noiseCode.appendf("\n\tif(%s.y >= %s.y) { %s.y -= %s.y; }", @@ -915,7 +904,7 @@ void GrGLPerlinNoise2::emitCode(EmitArgs& args) { noiseCode.appendf("\n\treturn mix(%s.x, %s.y, %s.y);\n", ab, ab, noiseSmooth); SkString noiseFuncName; - if (fStitchTiles) { + if (pne.stitchTiles()) { fsBuilder->emitFunction(kFloat_GrSLType, "perlinnoise", SK_ARRAY_COUNT(gPerlinNoiseStitchArgs), gPerlinNoiseStitchArgs, noiseCode.c_str(), &noiseFuncName); @@ -932,7 +921,7 @@ void GrGLPerlinNoise2::emitCode(EmitArgs& args) { // Clear the color accumulator fsBuilder->codeAppendf("\n\t\t%s = vec4(0.0);", args.fOutputColor); - if (fStitchTiles) { + if (pne.stitchTiles()) { // Set up TurbulenceInitial stitch values. fsBuilder->codeAppendf("\n\t\tvec2 %s = %s;", stitchData, stitchDataUni); } @@ -940,13 +929,13 @@ void GrGLPerlinNoise2::emitCode(EmitArgs& args) { fsBuilder->codeAppendf("\n\t\tfloat %s = 1.0;", ratio); // Loop over all octaves - fsBuilder->codeAppendf("\n\t\tfor (int octave = 0; octave < %d; ++octave) {", fNumOctaves); + fsBuilder->codeAppendf("for (int octave = 0; octave < %d; ++octave) {", pne.numOctaves()); fsBuilder->codeAppendf("\n\t\t\t%s += ", args.fOutputColor); - if (fType != SkPerlinNoiseShader2::kFractalNoise_Type) { + if (pne.type() != SkPerlinNoiseShader2::kFractalNoise_Type) { fsBuilder->codeAppend("abs("); } - if (fStitchTiles) { + if (pne.stitchTiles()) { fsBuilder->codeAppendf( "vec4(\n\t\t\t\t%s(%s, %s, %s),\n\t\t\t\t%s(%s, %s, %s)," "\n\t\t\t\t%s(%s, %s, %s),\n\t\t\t\t%s(%s, %s, %s))", @@ -963,7 +952,7 @@ void GrGLPerlinNoise2::emitCode(EmitArgs& args) { noiseFuncName.c_str(), chanCoordB, noiseVec, noiseFuncName.c_str(), chanCoordA, noiseVec); } - if (fType != SkPerlinNoiseShader2::kFractalNoise_Type) { + if (pne.type() != SkPerlinNoiseShader2::kFractalNoise_Type) { fsBuilder->codeAppendf(")"); // end of "abs(" } fsBuilder->codeAppendf(" * %s;", ratio); @@ -971,12 +960,12 @@ void GrGLPerlinNoise2::emitCode(EmitArgs& args) { fsBuilder->codeAppendf("\n\t\t\t%s *= vec2(2.0);", noiseVec); fsBuilder->codeAppendf("\n\t\t\t%s *= 0.5;", ratio); - if (fStitchTiles) { + if (pne.stitchTiles()) { fsBuilder->codeAppendf("\n\t\t\t%s *= vec2(2.0);", stitchData); } fsBuilder->codeAppend("\n\t\t}"); // end of the for loop on octaves - if (fType == SkPerlinNoiseShader2::kFractalNoise_Type) { + if (pne.type() == SkPerlinNoiseShader2::kFractalNoise_Type) { // The value of turbulenceFunctionResult comes from ((turbulenceFunctionResult) + 1) / 2 // by fractalNoise and (turbulenceFunctionResult) by turbulence. fsBuilder->codeAppendf("\n\t\t%s = %s * vec4(0.5) + vec4(0.5);", |