aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar jvanverth <jvanverth@google.com>2016-09-16 09:13:15 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-09-16 09:13:15 -0700
commita8370b2c56e42b9e29b4cfbda95d14fdfba7f15e (patch)
treeed9ccf72ec7c7726c36314e401ec1232954a1ee1
parent3d5541dc3d0f3f93d1dc2e6dc35f8e54729e4861 (diff)
Remove old SkGaussianEdgeShader code
BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2345673003 TBR=bsalomon@google.com Review-Url: https://codereview.chromium.org/2345673003
-rw-r--r--include/effects/SkGaussianEdgeShader.h2
-rw-r--r--src/effects/SkGaussianEdgeShader.cpp39
2 files changed, 12 insertions, 29 deletions
diff --git a/include/effects/SkGaussianEdgeShader.h b/include/effects/SkGaussianEdgeShader.h
index 0a2857efd1..ef54ece56e 100644
--- a/include/effects/SkGaussianEdgeShader.h
+++ b/include/effects/SkGaussianEdgeShader.h
@@ -16,7 +16,7 @@ public:
* Currently this is only useable with Circle and RRect shapes on the GPU backend.
* Raster will draw nothing.
*/
- static sk_sp<SkShader> Make(bool largerBlur = true);
+ static sk_sp<SkShader> Make();
SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP()
diff --git a/src/effects/SkGaussianEdgeShader.cpp b/src/effects/SkGaussianEdgeShader.cpp
index 3e582be829..ddc5d96fc8 100644
--- a/src/effects/SkGaussianEdgeShader.cpp
+++ b/src/effects/SkGaussianEdgeShader.cpp
@@ -27,11 +27,7 @@
*/
class SkGaussianEdgeShaderImpl : public SkShader {
public:
- SkGaussianEdgeShaderImpl()
- : fLargerBlur(false) {}
-
- SkGaussianEdgeShaderImpl(bool largerBlur)
- : fLargerBlur(largerBlur) {}
+ SkGaussianEdgeShaderImpl() {}
bool isOpaque() const override;
@@ -47,7 +43,6 @@ protected:
private:
friend class SkGaussianEdgeShader;
- bool fLargerBlur;
typedef SkShader INHERITED;
};
@@ -68,7 +63,7 @@ private:
class GaussianEdgeFP : public GrFragmentProcessor {
public:
- GaussianEdgeFP(bool largerBlur) : fLargerBlur(largerBlur) {
+ GaussianEdgeFP() {
this->initClassID<GaussianEdgeFP>();
// enable output of distance information for shape
@@ -77,7 +72,7 @@ public:
class GLSLGaussianEdgeFP : public GrGLSLFragmentProcessor {
public:
- GLSLGaussianEdgeFP(bool largerBlur) : fLargerBlur(largerBlur) {}
+ GLSLGaussianEdgeFP() {}
void emitCode(EmitArgs& args) override {
GrGLSLFPFragmentBuilder* fragBuilder = args.fFragBuilder;
@@ -87,7 +82,7 @@ public:
" returning grey in GLSLGaussianEdgeFP\n");
fragBuilder->codeAppendf("vec4 color = %s;", args.fInputColor);
fragBuilder->codeAppendf("%s = vec4(0.0, 0.0, 0.0, color.r);", args.fOutputColor);
- } else if (fLargerBlur) {
+ } else {
fragBuilder->codeAppendf("vec4 color = %s;", args.fInputColor);
fragBuilder->codeAppend("float radius = color.r*256.0*64.0 + color.g*64.0;");
fragBuilder->codeAppend("float pad = color.b*64.0;");
@@ -97,23 +92,13 @@ public:
fragBuilder->codeAppend("factor = exp(-factor * factor * 4.0) - 0.018;");
fragBuilder->codeAppendf("%s = factor*vec4(0.0, 0.0, 0.0, color.a);",
args.fOutputColor);
- } else {
- fragBuilder->codeAppendf("vec4 color = %s;", args.fInputColor);
- fragBuilder->codeAppend("float radius = color.g*64.0;");
- fragBuilder->codeAppend("float pad = color.b*64.0;");
-
- fragBuilder->codeAppendf("float factor = 1.0 - clamp((%s.z - pad)/radius, 0.0, 1.0);",
- fragBuilder->distanceVectorName());
- fragBuilder->codeAppend("factor = exp(-factor * factor * 4.0) - 0.018;");
- fragBuilder->codeAppendf("%s = factor*vec4(0.0, 0.0, 0.0, color.r);",
- args.fOutputColor);
}
}
static void GenKey(const GrProcessor& proc, const GrGLSLCaps&,
GrProcessorKeyBuilder* b) {
- const GaussianEdgeFP& gefp = proc.cast<GaussianEdgeFP>();
- b->add32(gefp.fLargerBlur ? 0x1 : 0x0);
+ // only one shader generated currently
+ b->add32(0x0);
}
protected:
@@ -134,18 +119,16 @@ public:
private:
GrGLSLFragmentProcessor* onCreateGLSLInstance() const override {
- return new GLSLGaussianEdgeFP(fLargerBlur);
+ return new GLSLGaussianEdgeFP();
}
bool onIsEqual(const GrFragmentProcessor& proc) const override { return true; }
-
- bool fLargerBlur;
};
////////////////////////////////////////////////////////////////////////////
-sk_sp<GrFragmentProcessor> SkGaussianEdgeShaderImpl::asFragmentProcessor(const AsFPArgs& args) const {
- return sk_make_sp<GaussianEdgeFP>(fLargerBlur);
+sk_sp<GrFragmentProcessor> SkGaussianEdgeShaderImpl::asFragmentProcessor(const AsFPArgs&) const {
+ return sk_make_sp<GaussianEdgeFP>();
}
#endif
@@ -173,8 +156,8 @@ void SkGaussianEdgeShaderImpl::flatten(SkWriteBuffer& buf) const {
///////////////////////////////////////////////////////////////////////////////
-sk_sp<SkShader> SkGaussianEdgeShader::Make(bool largerBlur) {
- return sk_make_sp<SkGaussianEdgeShaderImpl>(largerBlur);
+sk_sp<SkShader> SkGaussianEdgeShader::Make() {
+ return sk_make_sp<SkGaussianEdgeShaderImpl>();
}
///////////////////////////////////////////////////////////////////////////////