Index: src/gpu/gl/GrGLShaderBuilder.h |
diff --git a/src/gpu/gl/GrGLShaderBuilder.h b/src/gpu/gl/GrGLShaderBuilder.h |
index 7e71acf901f8e78df6a1bb3c32c89e8c98810b35..c28cd0999bf3c70f4824770b06478b327a12e5f3 100644 |
--- a/src/gpu/gl/GrGLShaderBuilder.h |
+++ b/src/gpu/gl/GrGLShaderBuilder.h |
@@ -13,6 +13,7 @@ |
#include "GrColor.h" |
#include "GrEffect.h" |
#include "SkTypes.h" |
+#include "gl/GrGLProgramDesc.h" |
#include "gl/GrGLProgramEffects.h" |
#include "gl/GrGLSL.h" |
#include "gl/GrGLUniformManager.h" |
@@ -253,8 +254,8 @@ protected: |
// Helper for emitEffects(). |
void createAndEmitEffects(GrGLProgramEffectsBuilder*, |
const GrEffectStage* effectStages[], |
- const EffectKey effectKeys[], |
int effectCnt, |
+ const GrGLProgramDesc::EffectKeyProvider&, |
GrGLSLExpr4* inOutFSColor); |
// Generates a name for a variable. The generated string will be name prefixed by the prefix |
@@ -338,15 +339,15 @@ private: |
/** |
* 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. |
- * The handles to texture samplers for effectStage[i] are added to |
+ * deleting it when finished. effectStages contains the effects to add. The effect key provider |
+ * is used to communicate the key each effect created in its GenKey function. inOutFSColor |
+ * specifies the input color to the first stage and 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, |
+ const GrGLProgramDesc::EffectKeyProvider&, |
GrGLSLExpr4* inOutFSColor) = 0; |
/** |
@@ -465,8 +466,8 @@ private: |
virtual void emitCodeBeforeEffects(GrGLSLExpr4* color, GrGLSLExpr4* coverage) SK_OVERRIDE; |
virtual GrGLProgramEffects* createAndEmitEffects(const GrEffectStage* effectStages[], |
- const EffectKey effectKeys[], |
int effectCnt, |
+ const GrGLProgramDesc::EffectKeyProvider&, |
GrGLSLExpr4* inOutFSColor) SK_OVERRIDE; |
virtual void emitCodeAfterEffects() SK_OVERRIDE; |
@@ -510,8 +511,8 @@ private: |
virtual void emitCodeBeforeEffects(GrGLSLExpr4* color, GrGLSLExpr4* coverage) SK_OVERRIDE {} |
virtual GrGLProgramEffects* createAndEmitEffects(const GrEffectStage* effectStages[], |
- const EffectKey effectKeys[], |
int effectCnt, |
+ const GrGLProgramDesc::EffectKeyProvider&, |
GrGLSLExpr4* inOutFSColor) SK_OVERRIDE; |
virtual void emitCodeAfterEffects() SK_OVERRIDE {} |