| Index: src/effects/gradients/SkGradientShaderPriv.h
|
| diff --git a/src/effects/gradients/SkGradientShaderPriv.h b/src/effects/gradients/SkGradientShaderPriv.h
|
| index 55a0061349ecceb97f42e183b736c556597b630d..d5737835e4eb49e4cad6b62d3398f75dee63f2f2 100644
|
| --- a/src/effects/gradients/SkGradientShaderPriv.h
|
| +++ b/src/effects/gradients/SkGradientShaderPriv.h
|
| @@ -203,8 +203,8 @@ static inline int next_dither_toggle16(int toggle) {
|
|
|
| #if SK_SUPPORT_GPU
|
|
|
| +#include "GrCoordTransform.h"
|
| #include "gl/GrGLEffect.h"
|
| -#include "gl/GrGLEffectMatrix.h"
|
|
|
| class GrEffectStage;
|
| class GrBackendEffectFactory;
|
| @@ -247,7 +247,6 @@ public:
|
|
|
| bool useAtlas() const { return SkToBool(-1 != fRow); }
|
| SkScalar getYCoord() const { return fYCoord; };
|
| - const SkMatrix& getMatrix() const { return fMatrix;}
|
|
|
| virtual void getConstantColorComponents(GrColor* color, uint32_t* validFlags) const SK_OVERRIDE;
|
|
|
| @@ -290,16 +289,17 @@ protected:
|
| virtual bool onIsEqual(const GrEffect& effect) const SK_OVERRIDE;
|
|
|
| private:
|
| + static const GrCoordSet kCoordSet = kLocal_GrCoordSet;
|
|
|
| enum {
|
| kMaxAnalyticColors = 3 // if more colors use texture
|
| };
|
|
|
| + GrCoordTransform fCoordTransform;
|
| GrTextureAccess fTextureAccess;
|
| SkScalar fYCoord;
|
| GrTextureStripAtlas* fAtlas;
|
| int fRow;
|
| - SkMatrix fMatrix;
|
| bool fIsOpaque;
|
| ColorType fColorType;
|
| SkColor fColors[kMaxAnalyticColors];
|
| @@ -320,26 +320,19 @@ public:
|
| virtual void setData(const GrGLUniformManager&, const GrDrawEffect&) SK_OVERRIDE;
|
|
|
| protected:
|
| - /**
|
| - * Subclasses must reserve the lower kMatrixKeyBitCnt of their key for use by
|
| - * GrGLGradientEffect.
|
| - */
|
| enum {
|
| - kMatrixKeyBitCnt = GrGLEffectMatrix::kKeyBits,
|
| - kMatrixKeyMask = (1 << kMatrixKeyBitCnt) - 1,
|
| -
|
| kPremulTypeKeyBitCnt = 1,
|
| - kPremulTypeMask = 1 << kMatrixKeyBitCnt,
|
| + kPremulTypeMask = 1,
|
| kPremulBeforeInterpKey = kPremulTypeMask,
|
|
|
| - kTwoColorKey = 2 << (kMatrixKeyBitCnt + kPremulTypeKeyBitCnt),
|
| - kThreeColorKey = 3 << (kMatrixKeyBitCnt + kPremulTypeKeyBitCnt),
|
| + kTwoColorKey = 2 << kPremulTypeKeyBitCnt,
|
| + kThreeColorKey = 3 << kPremulTypeKeyBitCnt,
|
| kColorKeyMask = kTwoColorKey | kThreeColorKey,
|
| kColorKeyBitCnt = 2,
|
|
|
| // Subclasses must shift any key bits they produce up by this amount
|
| // and combine with the result of GenBaseGradientKey.
|
| - kBaseKeyBitCnt = (kMatrixKeyBitCnt + kPremulTypeKeyBitCnt + kColorKeyBitCnt)
|
| + kBaseKeyBitCnt = (kPremulTypeKeyBitCnt + kColorKeyBitCnt)
|
| };
|
|
|
| static GrGradientEffect::ColorType ColorTypeFromKey(EffectKey key){
|
| @@ -364,20 +357,6 @@ protected:
|
| */
|
| static EffectKey GenBaseGradientKey(const GrDrawEffect&);
|
|
|
| - /**
|
| - * Inserts code to implement the GrGradientEffect's matrix. This should be called before a
|
| - * subclass emits its own code. The name of the 2D coords is output via fsCoordName and already
|
| - * incorporates any perspective division. The caller can also optionally retrieve the name of
|
| - * the varying inserted in the VS and its type, which may be either vec2f or vec3f depending
|
| - * upon whether the matrix has perspective or not. It is not necessary to mask the key before
|
| - * calling.
|
| - */
|
| - void setupMatrix(GrGLShaderBuilder* builder,
|
| - EffectKey key,
|
| - SkString* fsCoordName,
|
| - SkString* vsVaryingName = NULL,
|
| - GrSLType* vsVaryingType = NULL);
|
| -
|
| // Emits the uniform used as the y-coord to texture samples in derived classes. Subclasses
|
| // should call this method from their emitCode().
|
| void emitUniforms(GrGLShaderBuilder* builder, EffectKey key);
|
| @@ -394,14 +373,11 @@ protected:
|
| const GrGLShaderBuilder::TextureSamplerArray& samplers);
|
|
|
| private:
|
| - static const GrEffect::CoordsType kCoordsType = GrEffect::kLocal_CoordsType;
|
| -
|
| SkScalar fCachedYCoord;
|
| GrGLUniformManager::UniformHandle fFSYUni;
|
| GrGLUniformManager::UniformHandle fColorStartUni;
|
| GrGLUniformManager::UniformHandle fColorMidUni;
|
| GrGLUniformManager::UniformHandle fColorEndUni;
|
| - GrGLEffectMatrix fEffectMatrix;
|
|
|
| typedef GrGLEffect INHERITED;
|
| };
|
|
|