Add the shader version of the compiled shaders to the program binary.
Also increment the binary version.
TRAC #23182
Signed-off-by: Shannon Woods
Signed-off-by: Nicolas Capens
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2368 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Shader.cpp b/src/libGLESv2/Shader.cpp
index ca01621..27ee719 100644
--- a/src/libGLESv2/Shader.cpp
+++ b/src/libGLESv2/Shader.cpp
@@ -34,6 +34,7 @@
mRefCount = 0;
mDeleteStatus = false;
+ mShaderVersion = 100;
}
Shader::~Shader()
@@ -361,6 +362,7 @@
mUsesPointSize = false;
mUsesPointCoord = false;
mUsesDepthRange = false;
+ mShaderVersion = 100;
mActiveUniforms.clear();
mActiveInterfaceBlocks.clear();
@@ -406,6 +408,8 @@
size_t shaderVersion = 100;
ShGetInfo(compiler, SH_SHADER_VERSION, &shaderVersion);
+ mShaderVersion = static_cast<int>(shaderVersion);
+
if (shaderVersion == 300 && mRenderer->getCurrentClientVersion() < 3)
{
const char versionError[] = "GLSL ES 3.00 is not supported by OpenGL ES 2.0 contexts";
@@ -577,6 +581,11 @@
return false;
}
+int Shader::getShaderVersion() const
+{
+ return mShaderVersion;
+}
+
VertexShader::VertexShader(ResourceManager *manager, const rx::Renderer *renderer, GLuint handle)
: Shader(manager, renderer, handle)
{