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) { |