Introduce GrGLShaderBuilder::TextureSampler

Review URL: https://codereview.appspot.com/6495099/



git-svn-id: http://skia.googlecode.com/svn/trunk@5422 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/gl/GrGLProgram.h b/src/gpu/gl/GrGLProgram.h
index 0d0f8b0..e32238b 100644
--- a/src/gpu/gl/GrGLProgram.h
+++ b/src/gpu/gl/GrGLProgram.h
@@ -196,6 +196,8 @@
     typedef Desc::StageDesc StageDesc;
 
 private:
+    struct StageUniforms;
+
     GrGLProgram(const GrGLContextInfo& gl,
                 const Desc& desc,
                 const GrCustomStage** customStages);
@@ -209,12 +211,13 @@
 
     void genInputColor(GrGLShaderBuilder* builder, SkString* inColor);
 
-    // Determines which uniforms will need to be bound.
-    void genStageCode(int stageNum,
-                      const char* fsInColor, // NULL means no incoming color
-                      const char* fsOutColor,
-                      const char* vsInCoord,
-                      GrGLShaderBuilder* builder);
+    static GrGLProgramStage* GenStageCode(const GrCustomStage* stage,
+                                          const StageDesc& desc, // TODO: Eliminate this
+                                          StageUniforms* stageUniforms, // TODO: Eliminate this
+                                          const char* fsInColor, // NULL means no incoming color
+                                          const char* fsOutColor,
+                                          const char* vsInCoord,
+                                          GrGLShaderBuilder* builder);
 
     void genGeometryShader(GrGLShaderBuilder* segments) const;