| Index: src/gpu/effects/GrBezierEffect.h
|
| diff --git a/src/gpu/effects/GrBezierEffect.h b/src/gpu/effects/GrBezierEffect.h
|
| index f1b22fa8a4c9c1e5ddd396e882d10fb3deddc764..7700c58fe6937c0e711c674eccc937bd7241bc18 100644
|
| --- a/src/gpu/effects/GrBezierEffect.h
|
| +++ b/src/gpu/effects/GrBezierEffect.h
|
| @@ -63,6 +63,7 @@ public:
|
| const GrPrimitiveEdgeType edgeType,
|
| const GrDrawTargetCaps& caps,
|
| const SkMatrix& localMatrix,
|
| + bool usesLocalCoords,
|
| uint8_t coverage = 0xff) {
|
| switch (edgeType) {
|
| case kFillAA_GrProcessorEdgeType:
|
| @@ -71,18 +72,18 @@ public:
|
| }
|
| return SkNEW_ARGS(GrConicEffect, (color, viewMatrix, coverage,
|
| kFillAA_GrProcessorEdgeType,
|
| - localMatrix));
|
| + localMatrix, usesLocalCoords));
|
| case kHairlineAA_GrProcessorEdgeType:
|
| if (!caps.shaderCaps()->shaderDerivativeSupport()) {
|
| return NULL;
|
| }
|
| return SkNEW_ARGS(GrConicEffect, (color, viewMatrix, coverage,
|
| kHairlineAA_GrProcessorEdgeType,
|
| - localMatrix));
|
| + localMatrix, usesLocalCoords));
|
| case kFillBW_GrProcessorEdgeType:
|
| return SkNEW_ARGS(GrConicEffect, (color, viewMatrix, coverage,
|
| kFillBW_GrProcessorEdgeType,
|
| - localMatrix));
|
| + localMatrix, usesLocalCoords));
|
| default:
|
| return NULL;
|
| }
|
| @@ -98,8 +99,11 @@ public:
|
| inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType); }
|
| inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; }
|
| GrColor color() const { return fColor; }
|
| + bool colorIgnored() const { return GrColor_ILLEGAL == fColor; }
|
| const SkMatrix& viewMatrix() const { return fViewMatrix; }
|
| const SkMatrix& localMatrix() const { return fLocalMatrix; }
|
| + bool usesLocalCoords() const { return fUsesLocalCoords; }
|
| + uint8_t coverageScale() const { return fCoverageScale; }
|
|
|
| virtual void getGLProcessorKey(const GrBatchTracker& bt,
|
| const GrGLSLCaps& caps,
|
| @@ -108,15 +112,14 @@ public:
|
| virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt,
|
| const GrGLSLCaps&) const override;
|
|
|
| - void initBatchTracker(GrBatchTracker*, const GrPipelineInfo&) const override;
|
| -
|
| private:
|
| GrConicEffect(GrColor, const SkMatrix& viewMatrix, uint8_t coverage, GrPrimitiveEdgeType,
|
| - const SkMatrix& localMatrix);
|
| + const SkMatrix& localMatrix, bool usesLocalCoords);
|
|
|
| GrColor fColor;
|
| SkMatrix fViewMatrix;
|
| SkMatrix fLocalMatrix;
|
| + bool fUsesLocalCoords;
|
| uint8_t fCoverageScale;
|
| GrPrimitiveEdgeType fEdgeType;
|
| const Attribute* fInPosition;
|
| @@ -145,6 +148,7 @@ public:
|
| const GrPrimitiveEdgeType edgeType,
|
| const GrDrawTargetCaps& caps,
|
| const SkMatrix& localMatrix,
|
| + bool usesLocalCoords,
|
| uint8_t coverage = 0xff) {
|
| switch (edgeType) {
|
| case kFillAA_GrProcessorEdgeType:
|
| @@ -153,18 +157,18 @@ public:
|
| }
|
| return SkNEW_ARGS(GrQuadEffect, (color, viewMatrix, coverage,
|
| kFillAA_GrProcessorEdgeType,
|
| - localMatrix));
|
| + localMatrix, usesLocalCoords));
|
| case kHairlineAA_GrProcessorEdgeType:
|
| if (!caps.shaderCaps()->shaderDerivativeSupport()) {
|
| return NULL;
|
| }
|
| return SkNEW_ARGS(GrQuadEffect, (color, viewMatrix, coverage,
|
| kHairlineAA_GrProcessorEdgeType,
|
| - localMatrix));
|
| + localMatrix, usesLocalCoords));
|
| case kFillBW_GrProcessorEdgeType:
|
| return SkNEW_ARGS(GrQuadEffect, (color, viewMatrix, coverage,
|
| kFillBW_GrProcessorEdgeType,
|
| - localMatrix));
|
| + localMatrix, usesLocalCoords));
|
| default:
|
| return NULL;
|
| }
|
| @@ -180,8 +184,11 @@ public:
|
| inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType); }
|
| inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; }
|
| GrColor color() const { return fColor; }
|
| + bool colorIgnored() const { return GrColor_ILLEGAL == fColor; }
|
| const SkMatrix& viewMatrix() const { return fViewMatrix; }
|
| const SkMatrix& localMatrix() const { return fLocalMatrix; }
|
| + bool usesLocalCoords() const { return fUsesLocalCoords; }
|
| + uint8_t coverageScale() const { return fCoverageScale; }
|
|
|
| virtual void getGLProcessorKey(const GrBatchTracker& bt,
|
| const GrGLSLCaps& caps,
|
| @@ -190,15 +197,14 @@ public:
|
| virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt,
|
| const GrGLSLCaps&) const override;
|
|
|
| - void initBatchTracker(GrBatchTracker*, const GrPipelineInfo&) const override;
|
| -
|
| private:
|
| GrQuadEffect(GrColor, const SkMatrix& viewMatrix, uint8_t coverage, GrPrimitiveEdgeType,
|
| - const SkMatrix& localMatrix);
|
| + const SkMatrix& localMatrix, bool usesLocalCoords);
|
|
|
| GrColor fColor;
|
| SkMatrix fViewMatrix;
|
| SkMatrix fLocalMatrix;
|
| + bool fUsesLocalCoords;
|
| uint8_t fCoverageScale;
|
| GrPrimitiveEdgeType fEdgeType;
|
| const Attribute* fInPosition;
|
| @@ -258,6 +264,7 @@ public:
|
| inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType); }
|
| inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; }
|
| GrColor color() const { return fColor; }
|
| + bool colorIgnored() const { return GrColor_ILLEGAL == fColor; }
|
| const SkMatrix& viewMatrix() const { return fViewMatrix; }
|
|
|
| virtual void getGLProcessorKey(const GrBatchTracker& bt,
|
| @@ -267,8 +274,6 @@ public:
|
| virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt,
|
| const GrGLSLCaps&) const override;
|
|
|
| - void initBatchTracker(GrBatchTracker*, const GrPipelineInfo&) const override;
|
| -
|
| private:
|
| GrCubicEffect(GrColor, const SkMatrix& viewMatrix, GrPrimitiveEdgeType);
|
|
|
|
|