Demos (cmake): prog_paramater: Use GLEW instead of glutGetProcAddress.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Tue Nov 9 13:03:50 UTC 2010


Module: Demos
Branch: cmake
Commit: 00ea15803c02dcdafa1b93b125bd5a5cfcd0f5a0
URL:    http://cgit.freedesktop.org/mesa/demos/commit/?id=00ea15803c02dcdafa1b93b125bd5a5cfcd0f5a0

Author: José Fonseca <jfonseca at vmware.com>
Date:   Tue Nov  9 12:02:47 2010 +0000

prog_paramater: Use GLEW instead of glutGetProcAddress.

glutGetProcAddress not always available, and GLEW makes the code
simpler anyway.

---

 src/tests/prog_parameter.c |   31 +++++++++++++------------------
 1 files changed, 13 insertions(+), 18 deletions(-)

diff --git a/src/tests/prog_parameter.c b/src/tests/prog_parameter.c
index e38c689..f4f46d2 100644
--- a/src/tests/prog_parameter.c
+++ b/src/tests/prog_parameter.c
@@ -49,8 +49,6 @@ static PFNGLPROGRAMLOCALPARAMETER4FVARBPROC program_local_parameter4fv = NULL;
 static PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC get_program_local_parameterfv = NULL;
 static PFNGLPROGRAMENVPARAMETER4FVARBPROC program_env_parameter4fv = NULL;
 static PFNGLGETPROGRAMENVPARAMETERFVARBPROC get_program_env_parameterfv = NULL;
-static PFNGLBINDPROGRAMARBPROC bind_program = NULL;
-static PFNGLGETPROGRAMIVARBPROC get_program = NULL;
 
 static PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC program_local_parameters4fv = NULL;
 static PFNGLPROGRAMENVPARAMETERS4FVEXTPROC program_env_parameters4fv = NULL;
@@ -198,26 +196,23 @@ static void Init( void )
    printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
    printf("GL_VERSION = %s\n\n", ver_string);
 
-   if ( !glutExtensionSupported("GL_ARB_vertex_program") ) {
+   if ( !GLEW_ARB_vertex_program ) {
       printf("Sorry, this program requires GL_ARB_vertex_program\n");
       exit(2);
    }
 
 
-   program_local_parameter4fv = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) glutGetProcAddress( "glProgramLocalParameter4fvARB" );
-   program_env_parameter4fv = (PFNGLPROGRAMENVPARAMETER4FVARBPROC) glutGetProcAddress( "glProgramEnvParameter4fvARB" );
+   program_local_parameter4fv = glProgramLocalParameter4fvARB;
+   program_env_parameter4fv = glProgramEnvParameter4fvARB;
 
-   get_program_local_parameterfv = (PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) glutGetProcAddress( "glGetProgramLocalParameterfvARB" );
-   get_program_env_parameterfv = (PFNGLGETPROGRAMENVPARAMETERFVARBPROC) glutGetProcAddress( "glGetProgramEnvParameterfvARB" );
+   get_program_local_parameterfv = glGetProgramLocalParameterfvARB;
+   get_program_env_parameterfv = glGetProgramEnvParameterfvARB;
 
-   bind_program = (PFNGLBINDPROGRAMARBPROC) glutGetProcAddress( "glBindProgramARB" );
-   get_program = (PFNGLGETPROGRAMIVARBPROC) glutGetProcAddress( "glGetProgramivARB" );
-
-   if ( glutExtensionSupported("GL_EXT_gpu_program_parameters") ) {
+   if ( GLEW_EXT_gpu_program_parameters ) {
       printf("GL_EXT_gpu_program_parameters available, testing that path.\n");
 
-      program_local_parameters4fv = (PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) glutGetProcAddress( "glProgramLocalParameters4fvEXT" );
-      program_env_parameters4fv = (PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) glutGetProcAddress( "glProgramEnvParameters4fvEXT" );
+      program_local_parameters4fv = glProgramLocalParameters4fvEXT;
+      program_env_parameters4fv = glProgramEnvParameters4fvEXT;
    }
    else {
       printf("GL_EXT_gpu_program_parameters not available.\n");
@@ -231,11 +226,11 @@ static void Init( void )
    /* Since the test sets program local parameters, a program must be bound.
     * Program source, however, is not needed.
     */
-   (*bind_program)(GL_VERTEX_PROGRAM_ARB, 1);
+   glBindProgramARB(GL_VERTEX_PROGRAM_ARB, 1);
 
 
-   (*get_program)(GL_VERTEX_PROGRAM_ARB, GL_MAX_PROGRAM_ENV_PARAMETERS_ARB,
-		  & max_program_env_parameters);
+   glGetProgramivARB(GL_VERTEX_PROGRAM_ARB, GL_MAX_PROGRAM_ENV_PARAMETERS_ARB,
+                     & max_program_env_parameters);
 
    params = malloc(max_program_env_parameters * 4 * sizeof(GLfloat));
 
@@ -249,8 +244,8 @@ static void Init( void )
 			       get_program_env_parameterfv);
 
 
-   (*get_program)(GL_VERTEX_PROGRAM_ARB, GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB,
-		  & max_program_local_parameters);
+   glGetProgramivARB(GL_VERTEX_PROGRAM_ARB, GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB,
+                     & max_program_local_parameters);
 
    if (max_program_local_parameters > max_program_env_parameters) {
       params = realloc(params,




More information about the mesa-commit mailing list