Index: /trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp
===================================================================
--- /trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp	(revision 68082)
+++ /trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp	(revision 68083)
@@ -848,4 +848,18 @@
      */
     /** @todo distinguish between vertex and pixel shaders??? */
+    const char *pszShadingLanguageVersion = (const char *)glGetString(GL_SHADING_LANGUAGE_VERSION);
+    float v = pszShadingLanguageVersion ? atof(pszShadingLanguageVersion) : 0.0f;
+    if (v >= 3.30f)
+    {
+        pState->caps.vertexShaderVersion   = SVGA3DVSVERSION_40;
+        pState->caps.fragmentShaderVersion = SVGA3DPSVERSION_40;
+    }
+    else
+    if (v >= 1.20f)
+    {
+        pState->caps.vertexShaderVersion   = SVGA3DVSVERSION_20;
+        pState->caps.fragmentShaderVersion = SVGA3DPSVERSION_20;
+    }
+    else
     if (   vmsvga3dCheckGLExtension(pState, 0.0f, " GL_NV_gpu_program4 ")
         || strstr(pState->pszOtherExtensions, " GL_NV_gpu_program4 "))
