[deqp] Fix state_query.string

bug: 34245902

Version string needs to match the glGetIntegerv(GL_MINOR_VERSION, ...).

Change-Id: I8b51104b0347c12c93c350dda7fb03c145f8c3e2
diff --git a/system/GLESv2_enc/GL2Encoder.cpp b/system/GLESv2_enc/GL2Encoder.cpp
index daa972f..66b9e19 100755
--- a/system/GLESv2_enc/GL2Encoder.cpp
+++ b/system/GLESv2_enc/GL2Encoder.cpp
@@ -528,10 +528,10 @@
 
     switch (param) {
     case GL_MAJOR_VERSION:
-        *ptr = ctx->m_currMajorVersion;
+        *ptr = ctx->m_deviceMajorVersion;
         break;
     case GL_MINOR_VERSION:
-        *ptr = ctx->m_currMinorVersion;
+        *ptr = ctx->m_deviceMinorVersion;
         break;
     case GL_NUM_SHADER_BINARY_FORMATS:
         *ptr = 0;
diff --git a/system/GLESv2_enc/GL2Encoder.h b/system/GLESv2_enc/GL2Encoder.h
index 928547c..11162ee 100644
--- a/system/GLESv2_enc/GL2Encoder.h
+++ b/system/GLESv2_enc/GL2Encoder.h
@@ -30,11 +30,17 @@
     void setClientState(GLClientState *state) {
         m_state = state;
     }
-    void setClientStateMakeCurrent(GLClientState *state, int majorVersion, int minorVersion) {
+    void setClientStateMakeCurrent(GLClientState *state,
+                                   int majorVersion,
+                                   int minorVersion,
+                                   int deviceMajorVersion,
+                                   int deviceMinorVersion) {
         m_state = state;
         m_state->fromMakeCurrent();
         m_currMajorVersion = majorVersion;
         m_currMinorVersion = minorVersion;
+        m_deviceMajorVersion = deviceMajorVersion;
+        m_deviceMinorVersion = deviceMinorVersion;
     }
     void setSharedGroup(GLSharedGroupPtr shared) {
         m_shared = shared;
@@ -74,6 +80,8 @@
 
     int m_currMajorVersion;
     int m_currMinorVersion;
+    int m_deviceMajorVersion;
+    int m_deviceMinorVersion;
     std::string m_currExtensions;
 
     bool    m_initialized;
diff --git a/system/egl/egl.cpp b/system/egl/egl.cpp
index 275971c..8273cb5 100644
--- a/system/egl/egl.cpp
+++ b/system/egl/egl.cpp
@@ -175,6 +175,27 @@
     deletePending(0),
     goldfishSyncFd(-1)
 {
+
+    DEFINE_HOST_CONNECTION;
+    switch (rcEnc->getGLESMaxVersion()) {
+        case GLES_MAX_VERSION_3_0:
+            deviceMajorVersion = 3;
+            deviceMinorVersion = 0;
+            break;
+        case GLES_MAX_VERSION_3_1:
+            deviceMajorVersion = 3;
+            deviceMinorVersion = 1;
+            break;
+        case GLES_MAX_VERSION_3_2:
+            deviceMajorVersion = 3;
+            deviceMinorVersion = 2;
+            break;
+        default:
+            deviceMajorVersion = 2;
+            deviceMinorVersion = 0;
+            break;
+    }
+
     flags = 0;
     clientState = new GLClientState(majorVersion, minorVersion);
      if (shareCtx)
@@ -1543,7 +1564,9 @@
             hostCon->gl2Encoder()->setClientStateMakeCurrent(
                     contextState,
                     context->majorVersion,
-                    context->minorVersion);
+                    context->minorVersion,
+                    context->deviceMajorVersion,
+                    context->deviceMinorVersion);
             hostCon->gl2Encoder()->setSharedGroup(context->getSharedGroup());
         }
         else {
diff --git a/system/egl/eglContext.h b/system/egl/eglContext.h
index 0984591..0674833 100644
--- a/system/egl/eglContext.h
+++ b/system/egl/eglContext.h
@@ -38,6 +38,8 @@
     const char*         versionString;
     EGLint              majorVersion;
     EGLint              minorVersion;
+    EGLint              deviceMajorVersion;
+    EGLint              deviceMinorVersion;
     const char*         vendorString;
     const char*         rendererString;
     const char*         shaderVersionString;