aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/shaders
diff options
context:
space:
mode:
Diffstat (limited to 'src/shaders')
-rw-r--r--src/shaders/SkPerlinNoiseShader.cpp12
-rw-r--r--src/shaders/gradients/SkGradientShader.cpp6
-rw-r--r--src/shaders/gradients/SkGradientShaderPriv.h2
-rw-r--r--src/shaders/gradients/SkLinearGradient.cpp7
-rw-r--r--src/shaders/gradients/SkRadialGradient.cpp8
-rw-r--r--src/shaders/gradients/SkSweepGradient.cpp10
-rw-r--r--src/shaders/gradients/SkTwoPointConicalGradient_gpu.cpp35
7 files changed, 28 insertions, 52 deletions
diff --git a/src/shaders/SkPerlinNoiseShader.cpp b/src/shaders/SkPerlinNoiseShader.cpp
index 1f70d500d5..b1ef1f0a6b 100644
--- a/src/shaders/SkPerlinNoiseShader.cpp
+++ b/src/shaders/SkPerlinNoiseShader.cpp
@@ -741,14 +741,13 @@ private:
sk_sp<GrTextureProxy> permutationsProxy,
sk_sp<GrTextureProxy> noiseProxy,
const SkMatrix& matrix)
- : INHERITED(kNone_OptimizationFlags)
+ : INHERITED(kGrPerlinNoise2Effect_ClassID, kNone_OptimizationFlags)
, fType(type)
, fNumOctaves(numOctaves)
, fStitchTiles(stitchTiles)
, fPermutationsSampler(std::move(permutationsProxy))
, fNoiseSampler(std::move(noiseProxy))
, fPaintingData(std::move(paintingData)) {
- this->initClassID<GrPerlinNoise2Effect>();
this->addTextureSampler(&fPermutationsSampler);
this->addTextureSampler(&fNoiseSampler);
fCoordTransform.reset(matrix);
@@ -756,7 +755,7 @@ private:
}
GrPerlinNoise2Effect(const GrPerlinNoise2Effect& that)
- : INHERITED(kNone_OptimizationFlags)
+ : INHERITED(kGrPerlinNoise2Effect_ClassID, kNone_OptimizationFlags)
, fType(that.fType)
, fCoordTransform(that.fCoordTransform)
, fNumOctaves(that.fNumOctaves)
@@ -764,7 +763,6 @@ private:
, fPermutationsSampler(that.fPermutationsSampler)
, fNoiseSampler(that.fNoiseSampler)
, fPaintingData(new SkPerlinNoiseShaderImpl::PaintingData(*that.fPaintingData)) {
- this->initClassID<GrPerlinNoise2Effect>();
this->addTextureSampler(&fPermutationsSampler);
this->addTextureSampler(&fNoiseSampler);
this->addCoordTransform(&fCoordTransform);
@@ -1165,13 +1163,12 @@ private:
sk_sp<GrTextureProxy> permutationsProxy,
sk_sp<GrTextureProxy> gradientProxy,
const SkMatrix& matrix)
- : INHERITED(kNone_OptimizationFlags)
+ : INHERITED(kGrImprovedPerlinNoiseEffect_ClassID, kNone_OptimizationFlags)
, fOctaves(octaves)
, fZ(z)
, fPermutationsSampler(std::move(permutationsProxy))
, fGradientSampler(std::move(gradientProxy))
, fPaintingData(std::move(paintingData)) {
- this->initClassID<GrImprovedPerlinNoiseEffect>();
this->addTextureSampler(&fPermutationsSampler);
this->addTextureSampler(&fGradientSampler);
fCoordTransform.reset(matrix);
@@ -1179,14 +1176,13 @@ private:
}
GrImprovedPerlinNoiseEffect(const GrImprovedPerlinNoiseEffect& that)
- : INHERITED(kNone_OptimizationFlags)
+ : INHERITED(kGrImprovedPerlinNoiseEffect_ClassID, kNone_OptimizationFlags)
, fCoordTransform(that.fCoordTransform)
, fOctaves(that.fOctaves)
, fZ(that.fZ)
, fPermutationsSampler(that.fPermutationsSampler)
, fGradientSampler(that.fGradientSampler)
, fPaintingData(new SkPerlinNoiseShaderImpl::PaintingData(*that.fPaintingData)) {
- this->initClassID<GrImprovedPerlinNoiseEffect>();
this->addTextureSampler(&fPermutationsSampler);
this->addTextureSampler(&fGradientSampler);
this->addCoordTransform(&fCoordTransform);
diff --git a/src/shaders/gradients/SkGradientShader.cpp b/src/shaders/gradients/SkGradientShader.cpp
index 88990c7aaa..87f191044a 100644
--- a/src/shaders/gradients/SkGradientShader.cpp
+++ b/src/shaders/gradients/SkGradientShader.cpp
@@ -1697,8 +1697,8 @@ inline GrFragmentProcessor::OptimizationFlags GrGradientEffect::OptFlags(bool is
: kCompatibleWithCoverageAsAlpha_OptimizationFlag;
}
-GrGradientEffect::GrGradientEffect(const CreateArgs& args, bool isOpaque)
- : INHERITED(OptFlags(isOpaque)) {
+GrGradientEffect::GrGradientEffect(ClassID classID, const CreateArgs& args, bool isOpaque)
+ : INHERITED(classID, OptFlags(isOpaque)) {
const SkGradientShaderBase& shader(*args.fShader);
fIsOpaque = shader.isOpaque();
@@ -1815,7 +1815,7 @@ GrGradientEffect::GrGradientEffect(const CreateArgs& args, bool isOpaque)
}
GrGradientEffect::GrGradientEffect(const GrGradientEffect& that)
- : INHERITED(OptFlags(that.fIsOpaque))
+ : INHERITED(that.classID(), OptFlags(that.fIsOpaque))
, fColors(that.fColors)
, fColors4f(that.fColors4f)
, fColorSpaceXform(that.fColorSpaceXform)
diff --git a/src/shaders/gradients/SkGradientShaderPriv.h b/src/shaders/gradients/SkGradientShaderPriv.h
index c5a9b179ac..30e9440816 100644
--- a/src/shaders/gradients/SkGradientShaderPriv.h
+++ b/src/shaders/gradients/SkGradientShaderPriv.h
@@ -426,7 +426,7 @@ public:
}
protected:
- GrGradientEffect(const CreateArgs&, bool isOpaque);
+ GrGradientEffect(ClassID classID, const CreateArgs&, bool isOpaque);
explicit GrGradientEffect(const GrGradientEffect&); // facilitates clone() implementations
#if GR_TEST_UTILS
diff --git a/src/shaders/gradients/SkLinearGradient.cpp b/src/shaders/gradients/SkLinearGradient.cpp
index 04e82825ca..8b439cef56 100644
--- a/src/shaders/gradients/SkLinearGradient.cpp
+++ b/src/shaders/gradients/SkLinearGradient.cpp
@@ -112,13 +112,10 @@ public:
private:
explicit GrLinearGradient(const CreateArgs& args)
- : INHERITED(args, args.fShader->colorsAreOpaque()) {
- this->initClassID<GrLinearGradient>();
+ : INHERITED(kGrLinearGradient_ClassID, args, args.fShader->colorsAreOpaque()) {
}
- explicit GrLinearGradient(const GrLinearGradient& that) : INHERITED(that) {
- this->initClassID<GrLinearGradient>();
- }
+ explicit GrLinearGradient(const GrLinearGradient& that) : INHERITED(that) {}
GrGLSLFragmentProcessor* onCreateGLSLInstance() const override;
diff --git a/src/shaders/gradients/SkRadialGradient.cpp b/src/shaders/gradients/SkRadialGradient.cpp
index 94d823c90c..5c31688b93 100644
--- a/src/shaders/gradients/SkRadialGradient.cpp
+++ b/src/shaders/gradients/SkRadialGradient.cpp
@@ -81,13 +81,9 @@ public:
private:
explicit GrRadialGradient(const CreateArgs& args)
- : INHERITED(args, args.fShader->colorsAreOpaque()) {
- this->initClassID<GrRadialGradient>();
- }
+ : INHERITED(kGrRadialGradient_ClassID, args, args.fShader->colorsAreOpaque()) {}
- explicit GrRadialGradient(const GrRadialGradient& that) : INHERITED(that) {
- this->initClassID<GrRadialGradient>();
- }
+ explicit GrRadialGradient(const GrRadialGradient& that) : INHERITED(that) {}
GrGLSLFragmentProcessor* onCreateGLSLInstance() const override;
diff --git a/src/shaders/gradients/SkSweepGradient.cpp b/src/shaders/gradients/SkSweepGradient.cpp
index 0e2b785a52..792024f1c7 100644
--- a/src/shaders/gradients/SkSweepGradient.cpp
+++ b/src/shaders/gradients/SkSweepGradient.cpp
@@ -88,18 +88,14 @@ public:
private:
explicit GrSweepGradient(const CreateArgs& args, SkScalar tBias, SkScalar tScale)
- : INHERITED(args, args.fShader->colorsAreOpaque())
+ : INHERITED(kGrSweepGradient_ClassID, args, args.fShader->colorsAreOpaque())
, fTBias(tBias)
- , fTScale(tScale){
- this->initClassID<GrSweepGradient>();
- }
+ , fTScale(tScale) {}
explicit GrSweepGradient(const GrSweepGradient& that)
: INHERITED(that)
, fTBias(that.fTBias)
- , fTScale(that.fTScale) {
- this->initClassID<GrSweepGradient>();
- }
+ , fTScale(that.fTScale) {}
GrGLSLFragmentProcessor* onCreateGLSLInstance() const override;
diff --git a/src/shaders/gradients/SkTwoPointConicalGradient_gpu.cpp b/src/shaders/gradients/SkTwoPointConicalGradient_gpu.cpp
index 37e0708838..a08addbff9 100644
--- a/src/shaders/gradients/SkTwoPointConicalGradient_gpu.cpp
+++ b/src/shaders/gradients/SkTwoPointConicalGradient_gpu.cpp
@@ -93,13 +93,13 @@ private:
}
explicit Edge2PtConicalEffect(const CreateArgs& args)
- : INHERITED(args, false /* opaque: draws transparent black outside of the cone. */) {
+ : INHERITED(kEdge2PtConicalEffect_ClassID, args,
+ false /* opaque: draws transparent black outside of the cone. */) {
const SkTwoPointConicalGradient& shader =
*static_cast<const SkTwoPointConicalGradient*>(args.fShader);
fCenterX1 = shader.getCenterX1();
fRadius0 = shader.getStartRadius();
fDiffRadius = shader.getDiffRadius();
- this->initClassID<Edge2PtConicalEffect>();
// We should only be calling this shader if we are degenerate case with touching circles
// When deciding if we are in edge case, we scaled by the end radius for cases when the
// start radius was close to zero, otherwise we scaled by the start radius. In addition
@@ -129,7 +129,6 @@ private:
, fCenterX1(that.fCenterX1)
, fRadius0(that.fRadius0)
, fDiffRadius(that.fDiffRadius) {
- this->initClassID<Edge2PtConicalEffect>();
this->addCoordTransform(&fBTransform);
}
@@ -415,15 +414,14 @@ private:
}
FocalOutside2PtConicalEffect(const CreateArgs& args, SkScalar focalX)
- : INHERITED(args, false /* opaque: draws transparent black outside of the cone. */)
+ : INHERITED(kFocalOutside2PtConicalEffect_ClassID, args,
+ false /* opaque: draws transparent black outside of the cone. */)
, fFocalX(focalX)
, fIsFlipped(IsFlipped(args)) {
- this->initClassID<FocalOutside2PtConicalEffect>();
}
explicit FocalOutside2PtConicalEffect(const FocalOutside2PtConicalEffect& that)
: INHERITED(that), fFocalX(that.fFocalX), fIsFlipped(that.fIsFlipped) {
- this->initClassID<FocalOutside2PtConicalEffect>();
}
GR_DECLARE_FRAGMENT_PROCESSOR_TEST
@@ -630,14 +628,11 @@ private:
}
FocalInside2PtConicalEffect(const CreateArgs& args, SkScalar focalX)
- : INHERITED(args, args.fShader->colorsAreOpaque()), fFocalX(focalX) {
- this->initClassID<FocalInside2PtConicalEffect>();
- }
+ : INHERITED(kFocalInside2PtConicalEffect_ClassID, args,
+ args.fShader->colorsAreOpaque()), fFocalX(focalX) {}
explicit FocalInside2PtConicalEffect(const FocalInside2PtConicalEffect& that)
- : INHERITED(that), fFocalX(that.fFocalX) {
- this->initClassID<FocalInside2PtConicalEffect>();
- }
+ : INHERITED(that), fFocalX(that.fFocalX) {}
GR_DECLARE_FRAGMENT_PROCESSOR_TEST
@@ -880,14 +875,12 @@ private:
}
CircleInside2PtConicalEffect(const CreateArgs& args, const CircleConicalInfo& info)
- : INHERITED(args, args.fShader->colorsAreOpaque()), fInfo(info) {
- this->initClassID<CircleInside2PtConicalEffect>();
+ : INHERITED(kCircleInside2PtConicalEffect_ClassID, args,
+ args.fShader->colorsAreOpaque()), fInfo(info) {
}
explicit CircleInside2PtConicalEffect(const CircleInside2PtConicalEffect& that)
- : INHERITED(that), fInfo(that.fInfo) {
- this->initClassID<CircleInside2PtConicalEffect>();
- }
+ : INHERITED(that), fInfo(that.fInfo) {}
GR_DECLARE_FRAGMENT_PROCESSOR_TEST
@@ -1103,9 +1096,9 @@ private:
}
CircleOutside2PtConicalEffect(const CreateArgs& args, const CircleConicalInfo& info)
- : INHERITED(args, false /* opaque: draws transparent black outside of the cone. */)
+ : INHERITED(kCircleOutside2PtConicalEffect_ClassID, args,
+ false /* opaque: draws transparent black outside of the cone. */)
, fInfo(info) {
- this->initClassID<CircleOutside2PtConicalEffect>();
const SkTwoPointConicalGradient& shader =
*static_cast<const SkTwoPointConicalGradient*>(args.fShader);
if (shader.getStartRadius() != shader.getEndRadius()) {
@@ -1121,9 +1114,7 @@ private:
: INHERITED(that)
, fInfo(that.fInfo)
, fTLimit(that.fTLimit)
- , fIsFlipped(that.fIsFlipped) {
- this->initClassID<CircleOutside2PtConicalEffect>();
- }
+ , fIsFlipped(that.fIsFlipped) {}
GR_DECLARE_FRAGMENT_PROCESSOR_TEST