Module: Demos Branch: cmake Commit: 00ea15803c02dcdafa1b93b125bd5a5cfcd0f5a0 URL: http://cgit.freedesktop.org/mesa/demos/commit/?id=00ea15803c02dcdafa1b93b125bd5a5cfcd0f5a0
Author: José Fonseca <[email protected]> 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, _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
