diff --git a/gpu/src/GrGLProgram.h b/gpu/src/GrGLProgram.h
index 90e515f..6b07f30 100644
--- a/gpu/src/GrGLProgram.h
+++ b/gpu/src/GrGLProgram.h
@@ -18,17 +18,7 @@
 
 class GrBinHashKeyBuilder;
 
-struct ShaderCodeSegments {
-    GrStringBuilder fHeader; // VS+FS, GLSL version, etc
-    GrStringBuilder fVSUnis;
-    GrStringBuilder fVSAttrs;
-    GrStringBuilder fVaryings;
-    GrStringBuilder fFSUnis;
-    GrStringBuilder fFSOutputs;
-    GrStringBuilder fFSFunctions;
-    GrStringBuilder fVSCode;
-    GrStringBuilder fFSCode;
-};
+struct ShaderCodeSegments;
 
 /**
  * This class manages a GPU program and records per-program information.
@@ -41,6 +31,11 @@
  */
 class GrGLProgram {
 public:
+    enum GLSLVersion {
+        k120_GLSLVersion, // Desktop GLSL 1.2 and ES2 shading lang
+        k130_GLSLVersion  // Desktop GLSL 1.3
+    };
+
     class CachedData;
 
     GrGLProgram();
@@ -52,6 +47,7 @@
      *  but in a separate cacheable container.
      */
     bool genProgram(const GrGLInterface* gl,
+                    GLSLVersion glslVersion,
                     CachedData* programData) const;
 
      /**
@@ -286,7 +282,7 @@
                       const char* vsInCoord,
                       ShaderCodeSegments* segments,
                       StageUniLocations* locations) const;
-    
+
     // generates code to compute coverage based on edge AA.
     void genEdgeCoverage(const GrGLInterface* gl,
                          GrVertexLayout layout,
@@ -295,6 +291,7 @@
                          ShaderCodeSegments* segments) const;
 
     static bool CompileFSAndVS(const GrGLInterface* gl,
+                               GLSLVersion glslVersion,
                                const ShaderCodeSegments& segments, 
                                CachedData* programData);
 
