Extract ShaderCodeSegments from GrGLProgram into a new class,
GrGLShaderBuilder. Begin populating its interface.

Requires gyp changes.

http://codereview.appspot.com/6197076/



git-svn-id: http://skia.googlecode.com/svn/trunk@3916 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/gl/GrGLProgram.h b/src/gpu/gl/GrGLProgram.h
index eecdee7..c4aebf6 100644
--- a/src/gpu/gl/GrGLProgram.h
+++ b/src/gpu/gl/GrGLProgram.h
@@ -19,8 +19,7 @@
 
 class GrBinHashKeyBuilder;
 class GrGLProgramStage;
-
-struct ShaderCodeSegments;
+class GrGLShaderBuilder;
 
 // optionally compile the experimental GS code. Set to GR_DEBUG
 // so that debug build bots will execute the code.
@@ -376,22 +375,22 @@
                       const char* fsInColor, // NULL means no incoming color
                       const char* fsOutColor,
                       const char* vsInCoord,
-                      ShaderCodeSegments* segments,
+                      GrGLShaderBuilder* segments,
                       StageUniLocations* locations,
                       GrGLProgramStage* override) const;
 
     void genGeometryShader(const GrGLContextInfo& gl,
-                           ShaderCodeSegments* segments) const;
+                           GrGLShaderBuilder* segments) const;
 
     // generates code to compute coverage based on edge AA.
     void genEdgeCoverage(const GrGLContextInfo& gl,
                          GrVertexLayout layout,
                          CachedData* programData,
                          GrStringBuilder* coverageVar,
-                         ShaderCodeSegments* segments) const;
+                         GrGLShaderBuilder* segments) const;
 
     static bool CompileShaders(const GrGLContextInfo& gl,
-                               const ShaderCodeSegments& segments, 
+                               const GrGLShaderBuilder& segments, 
                                CachedData* programData);
 
     // Compiles a GL shader, returns shader ID or 0 if failed