Revert 2289. GLSL version detection not robust enough. May think we don't have GLSL 1.50 support based on OpenGL version. We have to look at the available extensions, not just GL version.
git-svn-id: http://skia.googlecode.com/svn/trunk@2290 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/src/GrGLProgram.h b/gpu/src/GrGLProgram.h
index e37d0a2..90e515f 100644
--- a/gpu/src/GrGLProgram.h
+++ b/gpu/src/GrGLProgram.h
@@ -18,7 +18,17 @@
class GrBinHashKeyBuilder;
-struct ShaderCodeSegments;
+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;
+};
/**
* This class manages a GPU program and records per-program information.
@@ -31,11 +41,6 @@
*/
class GrGLProgram {
public:
- enum GLSLVersion {
- k120_GLSLVersion, // Desktop GLSL 1.2 and ES2 shading lang
- k150_GLSLVersion // Desktop GLSL 1.5
- };
-
class CachedData;
GrGLProgram();
@@ -47,7 +52,6 @@
* but in a separate cacheable container.
*/
bool genProgram(const GrGLInterface* gl,
- GLSLVersion glslVersion,
CachedData* programData) const;
/**
@@ -282,7 +286,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,
@@ -291,7 +295,6 @@
ShaderCodeSegments* segments) const;
static bool CompileFSAndVS(const GrGLInterface* gl,
- GLSLVersion glslVersion,
const ShaderCodeSegments& segments,
CachedData* programData);