| Index: src/gpu/gl/GrGLShaderBuilder.h
|
| diff --git a/src/gpu/gl/GrGLShaderBuilder.h b/src/gpu/gl/GrGLShaderBuilder.h
|
| index 208c61060becc7ee4a8c087743d96cfd2f3903c5..d7ba58e07716bca89646b937d08cb2ce20d1487f 100644
|
| --- a/src/gpu/gl/GrGLShaderBuilder.h
|
| +++ b/src/gpu/gl/GrGLShaderBuilder.h
|
| @@ -167,40 +167,26 @@ public:
|
|
|
| /**
|
| * Interfaces used by GrGLProgram.
|
| - * TODO: These are used by GrGLProgram to insert a mode color filter. Remove these when the
|
| - * color filter is expressed as a GrEffect.
|
| */
|
| - const SkString& getInputColor() const {
|
| - SkASSERT(fInputColor.isEmpty() != (kNone_GrSLConstantVec == fKnownColorValue));
|
| + const GrGLSLExpr<4>& getInputColor() const {
|
| return fInputColor;
|
| }
|
| - GrSLConstantVec getKnownColorValue() const {
|
| - SkASSERT(fInputColor.isEmpty() != (kNone_GrSLConstantVec == fKnownColorValue));
|
| - return fKnownColorValue;
|
| - }
|
| - const SkString& getInputCoverage() const {
|
| - SkASSERT(fInputCoverage.isEmpty() != (kNone_GrSLConstantVec == fKnownCoverageValue));
|
| + const GrGLSLExpr<4>& getInputCoverage() const {
|
| return fInputCoverage;
|
| }
|
| - GrSLConstantVec getKnownCoverageValue() const {
|
| - SkASSERT(fInputCoverage.isEmpty() != (kNone_GrSLConstantVec == fKnownCoverageValue));
|
| - return fKnownCoverageValue;
|
| - }
|
|
|
| /**
|
| * Adds code for effects and returns a GrGLProgramEffects* object. The caller is responsible for
|
| * deleting it when finished. effectStages contains the effects to add. effectKeys[i] is the key
|
| * generated from effectStages[i]. inOutFSColor specifies the input color to the first stage and
|
| - * is updated to be the output color of the last stage. fsInOutColorKnownValue specifies whether
|
| - * the input color has a known constant value and is updated to refer to the status of the
|
| - * output color. The handles to texture samplers for effectStage[i] are added to
|
| + * is updated to be the output color of the last stage.
|
| + * The handles to texture samplers for effectStage[i] are added to
|
| * effectSamplerHandles[i].
|
| */
|
| virtual GrGLProgramEffects* createAndEmitEffects(const GrEffectStage* effectStages[],
|
| const EffectKey effectKeys[],
|
| int effectCnt,
|
| - SkString* inOutFSColor,
|
| - GrSLConstantVec* fsInOutColorKnownValue) = 0;
|
| + GrGLSLExpr<4>* inOutFSColor) = 0;
|
|
|
| const char* getColorOutputName() const;
|
| const char* enableSecondaryOutput();
|
| @@ -225,8 +211,8 @@ public:
|
| protected:
|
| GrGpuGL* gpu() const { return fGpu; }
|
|
|
| - void setInputColor(const char* inputColor) { fInputColor = inputColor; }
|
| - void setInputCoverage(const char* inputCoverage) { fInputCoverage = inputCoverage; }
|
| + void setInputColor(const GrGLSLExpr<4>& inputColor) { fInputColor = inputColor; }
|
| + void setInputCoverage(const GrGLSLExpr<4>& inputCoverage) { fInputCoverage = inputCoverage; }
|
|
|
| /** Add input/output variable declarations (i.e. 'varying') to the fragment shader. */
|
| GrGLShaderVar& fsInputAppend() { return fFSInputs.push_back(); }
|
| @@ -241,8 +227,7 @@ protected:
|
| const GrEffectStage* effectStages[],
|
| const EffectKey effectKeys[],
|
| int effectCnt,
|
| - SkString* inOutFSColor,
|
| - GrSLConstantVec* fsInOutColorKnownValue);
|
| + GrGLSLExpr<4>* inOutFSColor);
|
|
|
| virtual bool compileAndAttachShaders(GrGLuint programId) const;
|
| virtual void bindProgramLocations(GrGLuint programId) const;
|
| @@ -344,10 +329,8 @@ private:
|
| bool fSetupFragPosition;
|
| GrGLUniformManager::UniformHandle fDstCopySamplerUniform;
|
|
|
| - SkString fInputColor;
|
| - GrSLConstantVec fKnownColorValue;
|
| - SkString fInputCoverage;
|
| - GrSLConstantVec fKnownCoverageValue;
|
| + GrGLSLExpr<4> fInputColor;
|
| + GrGLSLExpr<4> fInputCoverage;
|
|
|
| bool fHasCustomColorOutput;
|
| bool fHasSecondaryOutput;
|
| @@ -413,8 +396,7 @@ public:
|
| const GrEffectStage* effectStages[],
|
| const EffectKey effectKeys[],
|
| int effectCnt,
|
| - SkString* inOutFSColor,
|
| - GrSLConstantVec* fsInOutColorKnownValue) SK_OVERRIDE;
|
| + GrGLSLExpr<4>* inOutFSColor) SK_OVERRIDE;
|
|
|
| GrGLUniformManager::UniformHandle getViewMatrixUniform() const {
|
| return fViewMatrixUniform;
|
| @@ -463,8 +445,7 @@ public:
|
| const GrEffectStage* effectStages[],
|
| const EffectKey effectKeys[],
|
| int effectCnt,
|
| - SkString* inOutFSColor,
|
| - GrSLConstantVec* fsInOutColorKnownValue) SK_OVERRIDE;
|
| + GrGLSLExpr<4>* inOutFSColor) SK_OVERRIDE;
|
|
|
| private:
|
| int fNumTexCoordSets;
|
|
|