| Index: src/core/SkNormalBevelSource.cpp
|
| diff --git a/src/core/SkNormalBevelSource.cpp b/src/core/SkNormalBevelSource.cpp
|
| index 69d295c030d51ad4ea47bd82ffe870219fb2e671..33c29bf1eb6325f916ae9f9912bd1d0c56fa6f2c 100644
|
| --- a/src/core/SkNormalBevelSource.cpp
|
| +++ b/src/core/SkNormalBevelSource.cpp
|
| @@ -25,17 +25,19 @@ public:
|
| , fWidth(width)
|
| , fHeight(height) {
|
| this->initClassID<NormalBevelFP>();
|
| +
|
| + fUsesDistanceVectorField = true;
|
| }
|
|
|
| - class GLSLNormalBevelFP : public GrGLSLFragmentProcessor {
|
| + class GLSLNormalBevelFP : public GLSLNormalFP {
|
| public:
|
| GLSLNormalBevelFP() {
|
| fPrevWidth = SkFloatToScalar(0.0f);
|
| fPrevHeight = SkFloatToScalar(0.0f);
|
| }
|
|
|
| - void emitCode(EmitArgs& args) override {
|
| - GrGLSLFragmentBuilder* fragBuilder = args.fFragBuilder;
|
| + void onEmitCode(EmitArgs& args) override {
|
| + GrGLSLFPFragmentBuilder* fragBuilder = args.fFragBuilder;
|
| GrGLSLUniformHandler* uniformHandler = args.fUniformHandler;
|
|
|
| const char* widthUniName = nullptr;
|
| @@ -46,7 +48,7 @@ public:
|
| fHeightUni = uniformHandler->addUniform(kFragment_GrShaderFlag, kFloat_GrSLType,
|
| kDefault_GrSLPrecision, "Height", &heightUniName);
|
|
|
| - fragBuilder->codeAppendf("%s = vec4(0, 0, 1, 0);", args.fOutputColor);
|
| + fragBuilder->codeAppendf("%s = vec4(0.0, 0.0, 1.0, 0.0);", args.fOutputColor);
|
| }
|
|
|
| static void GenKey(const GrProcessor& proc, const GrGLSLCaps&,
|
| @@ -56,7 +58,8 @@ public:
|
| }
|
|
|
| protected:
|
| - void onSetData(const GrGLSLProgramDataManager& pdman, const GrProcessor& proc) override {
|
| + void setNormalData(const GrGLSLProgramDataManager& pdman,
|
| + const GrProcessor& proc) override {
|
| const NormalBevelFP& normalBevelFP = proc.cast<NormalBevelFP>();
|
|
|
| if (fPrevWidth != normalBevelFP.fWidth) {
|
|
|