| Index: experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp
|
| diff --git a/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp b/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp
|
| index 83599d950d8c21c05465256d1f4f64dc523df099..a7750a8d856020158c351458c37072cb26eda3fc 100644
|
| --- a/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp
|
| +++ b/experimental/SkPerlinNoiseShader2/SkPerlinNoiseShader2.cpp
|
| @@ -22,8 +22,8 @@
|
| #include "effects/GrConstColorProcessor.h"
|
| #include "glsl/GrGLSLFragmentProcessor.h"
|
| #include "glsl/GrGLSLFragmentShaderBuilder.h"
|
| -#include "glsl/GrGLSLProgramBuilder.h"
|
| #include "glsl/GrGLSLProgramDataManager.h"
|
| +#include "glsl/GrGLSLUniformHandler.h"
|
| #endif
|
|
|
| static const int kBlockSize = 256;
|
| @@ -758,19 +758,20 @@ GrGLPerlinNoise2::GrGLPerlinNoise2(const GrProcessor& processor)
|
|
|
| void GrGLPerlinNoise2::emitCode(EmitArgs& args) {
|
| GrGLSLFragmentBuilder* fsBuilder = args.fFragBuilder;
|
| + GrGLSLUniformHandler* uniformHandler = args.fUniformHandler;
|
| SkString vCoords = fsBuilder->ensureFSCoords2D(args.fCoords, 0);
|
|
|
| - fBaseFrequencyUni = args.fBuilder->addUniform(GrGLSLProgramBuilder::kFragment_Visibility,
|
| - kVec2f_GrSLType, kDefault_GrSLPrecision,
|
| - "baseFrequency");
|
| - const char* baseFrequencyUni = args.fBuilder->getUniformCStr(fBaseFrequencyUni);
|
| + fBaseFrequencyUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragment_Visibility,
|
| + kVec2f_GrSLType, kDefault_GrSLPrecision,
|
| + "baseFrequency");
|
| + const char* baseFrequencyUni = uniformHandler->getUniformCStr(fBaseFrequencyUni);
|
|
|
| const char* stitchDataUni = nullptr;
|
| if (fStitchTiles) {
|
| - fStitchDataUni = args.fBuilder->addUniform(GrGLSLProgramBuilder::kFragment_Visibility,
|
| - kVec2f_GrSLType, kDefault_GrSLPrecision,
|
| - "stitchData");
|
| - stitchDataUni = args.fBuilder->getUniformCStr(fStitchDataUni);
|
| + fStitchDataUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragment_Visibility,
|
| + kVec2f_GrSLType, kDefault_GrSLPrecision,
|
| + "stitchData");
|
| + stitchDataUni = uniformHandler->getUniformCStr(fStitchDataUni);
|
| }
|
|
|
| // There are 4 lines, so the center of each line is 1/8, 3/8, 5/8 and 7/8
|
| @@ -1171,22 +1172,23 @@ GrGLImprovedPerlinNoise::GrGLImprovedPerlinNoise(const GrProcessor& processor)
|
|
|
| void GrGLImprovedPerlinNoise::emitCode(EmitArgs& args) {
|
| GrGLSLFragmentBuilder* fsBuilder = args.fFragBuilder;
|
| + GrGLSLUniformHandler* uniformHandler = args.fUniformHandler;
|
| SkString vCoords = fsBuilder->ensureFSCoords2D(args.fCoords, 0);
|
|
|
| - fBaseFrequencyUni = args.fBuilder->addUniform(GrGLSLProgramBuilder::kFragment_Visibility,
|
| - kVec2f_GrSLType, kDefault_GrSLPrecision,
|
| - "baseFrequency");
|
| - const char* baseFrequencyUni = args.fBuilder->getUniformCStr(fBaseFrequencyUni);
|
| + fBaseFrequencyUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragment_Visibility,
|
| + kVec2f_GrSLType, kDefault_GrSLPrecision,
|
| + "baseFrequency");
|
| + const char* baseFrequencyUni = uniformHandler->getUniformCStr(fBaseFrequencyUni);
|
|
|
| - fOctavesUni = args.fBuilder->addUniform(GrGLSLProgramBuilder::kFragment_Visibility,
|
| - kFloat_GrSLType, kDefault_GrSLPrecision,
|
| - "octaves");
|
| - const char* octavesUni = args.fBuilder->getUniformCStr(fOctavesUni);
|
| + fOctavesUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragment_Visibility,
|
| + kFloat_GrSLType, kDefault_GrSLPrecision,
|
| + "octaves");
|
| + const char* octavesUni = uniformHandler->getUniformCStr(fOctavesUni);
|
|
|
| - fZUni = args.fBuilder->addUniform(GrGLSLProgramBuilder::kFragment_Visibility,
|
| - kFloat_GrSLType, kDefault_GrSLPrecision,
|
| - "z");
|
| - const char* zUni = args.fBuilder->getUniformCStr(fZUni);
|
| + fZUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragment_Visibility,
|
| + kFloat_GrSLType, kDefault_GrSLPrecision,
|
| + "z");
|
| + const char* zUni = uniformHandler->getUniformCStr(fZUni);
|
|
|
| // fade function
|
| static const GrGLSLShaderVar fadeArgs[] = {
|
|
|