moved gl_GetString() into get.c
authorBrian Paul <brian.paul@tungstengraphics.com>
Thu, 9 Sep 1999 23:47:09 +0000 (23:47 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Thu, 9 Sep 1999 23:47:09 +0000 (23:47 +0000)
src/mesa/main/get.c
src/mesa/main/get.h

index 65a682c5472984caca905c51796ceb6fedf4cd2b..90d6deb913576838339de21c855d1bebc649c926 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: get.c,v 1.1 1999/08/19 00:55:41 jtg Exp $ */
+/* $Id: get.c,v 1.2 1999/09/09 23:47:09 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -34,6 +34,7 @@
 #include "context.h"
 #include "enable.h"
 #include "enums.h"
+#include "extensions.h"
 #include "get.h"
 #include "macros.h"
 #include "mmath.h"
@@ -3690,3 +3691,51 @@ void gl_GetPointerv( GLcontext *ctx, GLenum pname, GLvoid **params )
          return;
    }
 }
+
+
+
+const GLubyte *gl_GetString( GLcontext *ctx, GLenum name )
+{
+   static char result[1000];
+   static char *vendor = "Brian Paul";
+   static char *version = "1.2.1 Mesa 3.1 beta";
+
+   ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH_WITH_RETVAL(ctx, "glGetString", 0);
+
+   /* First see if device driver can satisfy this call */
+   switch (name) {
+      case GL_VENDOR:
+      case GL_RENDERER:
+      case GL_VERSION:
+         if (ctx->Driver.GetString) {
+            const GLubyte *str = (*ctx->Driver.GetString)(ctx, name);
+            if (str && str[0])
+               return str;
+         }
+         break;
+      /* Extensions always handled by extensions.c */
+      case GL_EXTENSIONS:
+        return (GLubyte *) gl_extensions_get_string( ctx );
+      default:
+         gl_error( ctx, GL_INVALID_ENUM, "glGetString" );
+         return (GLubyte *) 0;
+   }
+
+   /* If we get here, device driver didn't return a string */
+   switch (name) {
+      case GL_VENDOR:
+         return (GLubyte *) vendor;
+      case GL_RENDERER:
+         strcpy(result, "Mesa");
+         if (ctx->Driver.RendererString) {
+            strcat(result, " ");
+            strcat(result, (*ctx->Driver.RendererString)());
+         }
+         return (GLubyte *) result;
+      case GL_VERSION:
+         return (GLubyte *) version;
+      default:
+         /* caught above */
+         return NULL;
+   }
+}
index c4e55041f66d880a3fee7175a7f04fb3f30defb0..fefdb219c952e30cc71f63753636426e69c956d5 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: get.h,v 1.1 1999/08/19 00:55:41 jtg Exp $ */
+/* $Id: get.h,v 1.2 1999/09/09 23:47:09 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -43,6 +43,10 @@ extern void gl_GetFloatv( GLcontext *ctx, GLenum pname, GLfloat *params );
 
 extern void gl_GetIntegerv( GLcontext *ctx, GLenum pname, GLint *params );
 
+extern void gl_GetPointerv( GLcontext *ctx, GLenum pname, GLvoid **params );
+
+extern const GLubyte *gl_GetString( GLcontext *ctx, GLenum name );
+
 
 #endif