
This patch is licensed under the same terms as the Chromium package.

Index: src/VBox/HostServices/SharedOpenGL/render/renderspu.c
===================================================================
--- src/VBox/HostServices/SharedOpenGL/render/renderspu.c	(revision 16411)
+++ src/VBox/HostServices/SharedOpenGL/render/renderspu.c	(working copy)
@@ -987,14 +987,8 @@
         context->extensionString = s2;
         return (const GLubyte *) s2;
     }
-    else if (pname == GL_VENDOR)
-        return (const GLubyte *) CR_VENDOR;
-    else if (pname == GL_VERSION)
-        return render_spu.ws.glGetString(GL_VERSION);
-    else if (pname == GL_RENDERER) {
-        sprintf(tempStr, "Chromium (%s)", (char *) render_spu.ws.glGetString(GL_RENDERER));
-        return (const GLubyte *) tempStr;
-    }
+    else if (pname == GL_VENDOR || pname == GL_VERSION || pname == GL_RENDERER)
+        return render_spu.ws.glGetString(pname);
     else
         return NULL;
 }
Index: src/VBox/GuestHost/OpenGL/include/state/cr_limits.h
===================================================================
--- src/VBox/GuestHost/OpenGL/include/state/cr_limits.h	(revision 16411)
+++ src/VBox/GuestHost/OpenGL/include/state/cr_limits.h	(working copy)
@@ -17,11 +17,6 @@
 #endif
 
 
-/* glGetString strings */
-#define CR_RENDERER "Chromium"
-#define CR_VENDOR "Humper"
-
-
 #define CR_MAX_TEXTURE_UNITS		8
 #define CR_MAX_GENERAL_COMBINERS	8
 #define CR_MAX_TEXTURE_SIZE		4096
Index: src/VBox/GuestHost/OpenGL/state_tracker/state_getstring.c
===================================================================
--- src/VBox/GuestHost/OpenGL/state_tracker/state_getstring.c	(revision 16411)
+++ src/VBox/GuestHost/OpenGL/state_tracker/state_getstring.c	(working copy)
@@ -21,12 +21,6 @@
 
 	switch( name )
 	{
-		case GL_VENDOR:
-			return (const GLubyte *) CR_VENDOR;
-		case GL_RENDERER:
-			return (const GLubyte *) CR_RENDERER;
-		case GL_VERSION:
-			return (const GLubyte *) CR_OPENGL_VERSION_STRING " Chromium " CR_VERSION_STRING;
 		case GL_EXTENSIONS:
 			/* This shouldn't normally be queried - the relevant SPU should
 			 * catch this query and do all the extension string merging/mucking.
Index: src/VBox/Additions/WINNT/Graphics/crOpenGL/pack/packspu.h
===================================================================
--- src/VBox/Additions/WINNT/Graphics/crOpenGL/pack/packspu.h	(revision 16411)
+++ src/VBox/Additions/WINNT/Graphics/crOpenGL/pack/packspu.h	(working copy)
@@ -39,6 +39,8 @@
 struct context_info_t {
     CRContext *clientState;  /* used to store client-side GL state */
     GLint serverCtx;         /* context ID returned by server */
+    char glVendor[100];     /* GL_VENDOR string */
+    char glRenderer[100];     /* GL_RENDERER string */
     char glVersion[100];     /* GL_VERSION string */
 };
 
Index: src/VBox/Additions/WINNT/Graphics/crOpenGL/pack/packspu_getstring.c
===================================================================
--- src/VBox/Additions/WINNT/Graphics/crOpenGL/pack/packspu_getstring.c	(revision 16411)
+++ src/VBox/Additions/WINNT/Graphics/crOpenGL/pack/packspu_getstring.c	(working copy)
@@ -44,29 +44,22 @@
 }
 
 
-static GLfloat
-GetVersionString(void)
+static void
+GetString(GLenum name, GLubyte *return_value)
 {
-	GLubyte return_value[100];
 	GET_THREAD(thread);
 	int writeback = 1;
-	GLfloat version;
 
 	if (pack_spu.swap)
-		crPackGetStringSWAP( GL_VERSION, return_value, &writeback );
+		crPackGetStringSWAP( name, return_value, &writeback );
 	else
-		crPackGetString( GL_VERSION, return_value, &writeback );
+		crPackGetString( name, return_value, &writeback );
 	packspuFlush( (void *) thread );
 
 	while (writeback)
 		crNetRecv();
 
 	CRASSERT(crStrlen((char *)return_value) < 100);
-
-	version = crStrToFloat((char *) return_value);
-	version = crStateComputeVersion(version);
-
-	return version;
 }
 
 
@@ -77,10 +70,19 @@
 	{
 		return GetExtensions();
 	}
+	else if (name == GL_VENDOR)
+	{
+		GetString(GL_VENDOR, ctx->glVendor);
+		return (const GLubyte *) ctx->glVendor;
+	}
+	else if (name == GL_RENDERER)
+	{
+		GetString(GL_RENDERER, ctx->glRenderer);
+		return (const GLubyte *) ctx->glRenderer;
+	}
 	else if (name == GL_VERSION)
 	{
-		float version = GetVersionString();
-		sprintf(ctx->glVersion, "%g Chromium %s", version, CR_VERSION_STRING);
+		GetString(GL_VERSION, ctx->glVersion);
 		return (const GLubyte *) ctx->glVersion;
 	}
 	else
