Make GrGLProgramDesc's key variable length by compacting the effect key array
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/15252004
git-svn-id: http://skia.googlecode.com/svn/trunk@9239 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/gl/GrGLProgram.h b/src/gpu/gl/GrGLProgram.h
index 578b4a9..be6e687 100644
--- a/src/gpu/gl/GrGLProgram.h
+++ b/src/gpu/gl/GrGLProgram.h
@@ -48,7 +48,7 @@
void abandon();
/**
- * The shader may modify the blend coefficients. Params are in/out
+ * The shader may modify the blend coefficients. Params are in/out.
*/
void overrideBlend(GrBlendCoeff* srcCoeff, GrBlendCoeff* dstCoeff) const;
@@ -104,12 +104,10 @@
* This function uploads uniforms and calls each GrGLEffect's setData. It is called before a
* draw occurs using the program after the program has already been bound. It also uses the
* GrGpuGL object to bind the textures required by the GrGLEffects.
- *
- * The color and coverage params override the GrDrawState's getColor() and getCoverage() values.
*/
void setData(GrGpuGL*,
- GrColor color,
- GrColor coverage,
+ GrDrawState::BlendOptFlags,
+ const GrEffectStage* stages[], // output of GrGLProgramDesc:Build()
const GrDeviceCoordTexture* dstCopy, // can be NULL
SharedGLState*);
@@ -121,7 +119,9 @@
bool succeeded() const { return 0 != fProgramID; }
/**
- * This is the heavy initialization routine for building a GLProgram.
+ * This is the heavy initialization routine for building a GLProgram. stages is all the enabled
+ * color stages followed by all the enabled coverage stages as output by
+ * GrGLProgramDesc::Build()
*/
bool genProgram(const GrEffectStage* stages[]);