Merge "Add parameters validation to glShaderSource() API"
diff --git a/common.mk b/common.mk
index a4ea7d7..a1e5522 100644
--- a/common.mk
+++ b/common.mk
@@ -35,7 +35,6 @@
     $(eval LOCAL_IS_HOST_MODULE := $(if $3,true,))\
     $(eval LOCAL_C_INCLUDES := $(EMUGL_COMMON_INCLUDES)) \
     $(eval LOCAL_CFLAGS := $(EMUGL_COMMON_CFLAGS)) \
-    $(eval LOCAL_PRELINK_MODULE := false)\
     $(eval _EMUGL_INCLUDE_TYPE := $(BUILD_$2)) \
     $(call _emugl-init-module,$1,$2,$3)
 
diff --git a/system/egl/egl.cpp b/system/egl/egl.cpp
index 8499229..86897d4 100644
--- a/system/egl/egl.cpp
+++ b/system/egl/egl.cpp
@@ -140,6 +140,7 @@
     versionString(NULL),
     vendorString(NULL),
     rendererString(NULL),
+    shaderVersionString(NULL),
     extensionString(NULL),
     deletePending(0)
 {
@@ -158,6 +159,7 @@
     delete [] versionString;
     delete [] vendorString;
     delete [] rendererString;
+    delete [] shaderVersionString;
     delete [] extensionString;
 }
 
@@ -416,6 +418,7 @@
 #define GL_VENDOR                         0x1F00
 #define GL_RENDERER                       0x1F01
 #define GL_VERSION                        0x1F02
+#define GL_SHADING_LANGUAGE_VERSION       0x8B8C
 #define GL_EXTENSIONS                     0x1F03
 
     switch(glEnum) {
@@ -428,6 +431,9 @@
         case GL_RENDERER:
             strPtr = &tInfo->currentContext->rendererString;
             break;
+        case GL_SHADING_LANGUAGE_VERSION:
+            strPtr = &tInfo->currentContext->shaderVersionString;
+            break;
         case GL_EXTENSIONS:
             strPtr = &tInfo->currentContext->extensionString;
             break;
diff --git a/system/egl/eglContext.h b/system/egl/eglContext.h
index 16a2780..5b6a428 100644
--- a/system/egl/eglContext.h
+++ b/system/egl/eglContext.h
@@ -39,6 +39,7 @@
     const char*         versionString;
     const char*         vendorString;
     const char*         rendererString;
+    const char*         shaderVersionString;
     const char*         extensionString;
     EGLint              deletePending;
     GLClientState * getClientState(){ return clientState; }