eglCreateContext passes the client version to the context. gl::Context stores the client version to validate gl function parameters.

TRAC #22694

Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Geoff Lang

git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2067 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Context.cpp b/src/libGLESv2/Context.cpp
index c274091..1a4cedc 100644
--- a/src/libGLESv2/Context.cpp
+++ b/src/libGLESv2/Context.cpp
@@ -42,7 +42,7 @@
     return strings.insert(str).first->c_str();
 }
 
-Context::Context(const gl::Context *shareContext, rx::Renderer *renderer, bool notifyResets, bool robustAccess) : mRenderer(renderer)
+Context::Context(int clientVersion, const gl::Context *shareContext, rx::Renderer *renderer, bool notifyResets, bool robustAccess) : mRenderer(renderer)
 {
     ASSERT(robustAccess == false);   // Unimplemented
 
@@ -50,6 +50,8 @@
 
     setClearColor(0.0f, 0.0f, 0.0f, 0.0f);
 
+    mClientVersion = clientVersion;
+
     mState.depthClearValue = 1.0f;
     mState.stencilClearValue = 0;
 
@@ -2123,6 +2125,11 @@
     return (mResetStrategy == GL_LOSE_CONTEXT_ON_RESET_EXT);
 }
 
+int Context::getClientVersion() const
+{
+    return mClientVersion;
+}
+
 int Context::getMajorShaderModel() const
 {
     return mMajorShaderModel;
@@ -2884,9 +2891,9 @@
 
 extern "C"
 {
-gl::Context *glCreateContext(const gl::Context *shareContext, rx::Renderer *renderer, bool notifyResets, bool robustAccess)
+gl::Context *glCreateContext(int clientVersion, const gl::Context *shareContext, rx::Renderer *renderer, bool notifyResets, bool robustAccess)
 {
-    return new gl::Context(shareContext, renderer, notifyResets, robustAccess);
+    return new gl::Context(clientVersion, shareContext, renderer, notifyResets, robustAccess);
 }
 
 void glDestroyContext(gl::Context *context)