1.1 --- a/src/pvr2/gl_sl.c Sun Jun 01 00:37:27 2008 +0000
1.2 +++ b/src/pvr2/gl_sl.c Thu Sep 11 22:51:24 2008 +0000
1.4 gboolean glsl_is_supported()
1.6 return isGLExtensionSupported("GL_ARB_fragment_shader") &&
1.7 - isGLExtensionSupported("GL_ARB_vertex_shader") &&
1.8 - isGLExtensionSupported("GL_ARB_shading_language_100");
1.9 + isGLExtensionSupported("GL_ARB_vertex_shader") &&
1.10 + isGLExtensionSupported("GL_ARB_shading_language_100");
1.13 #ifdef GL_ARB_shader_objects
1.16 glGetObjectParameterivARB(obj, GL_OBJECT_COMPILE_STATUS_ARB, &value);
1.18 - glsl_print_error(msg, obj);
1.20 + glsl_print_error(msg, obj);
1.26 gboolean glsl_check_program_error( char *msg, GLhandleARB obj )
1.28 if( glGetError() != GL_NO_ERROR ) {
1.29 - glsl_print_error(msg, obj);
1.30 + glsl_print_error(msg, obj);
1.35 gboolean vsok = TRUE, fsok = TRUE, pok = FALSE;
1.37 if( vertex_src == NULL && fragment_src == NULL ) {
1.38 - return TRUE; // nothing to do
1.39 + return TRUE; // nothing to do
1.42 glsl_program = glCreateProgramObjectARB();
1.44 if( vertex_src != NULL ) {
1.45 - glsl_vert_shader = glCreateShaderObjectARB(GL_VERTEX_SHADER_ARB);
1.46 - glShaderSourceARB( glsl_vert_shader, 1, &vertex_src, NULL );
1.47 - glCompileShaderARB(glsl_vert_shader);
1.48 - vsok = glsl_check_shader_error("Failed to compile vertex shader", glsl_vert_shader);
1.49 + glsl_vert_shader = glCreateShaderObjectARB(GL_VERTEX_SHADER_ARB);
1.50 + glShaderSourceARB( glsl_vert_shader, 1, &vertex_src, NULL );
1.51 + glCompileShaderARB(glsl_vert_shader);
1.52 + vsok = glsl_check_shader_error("Failed to compile vertex shader", glsl_vert_shader);
1.54 if( fragment_src != NULL ) {
1.55 - glsl_frag_shader = glCreateShaderObjectARB(GL_FRAGMENT_SHADER_ARB);
1.56 - glShaderSourceARB( glsl_frag_shader, 1, &fragment_src, NULL );
1.57 - glCompileShaderARB(glsl_frag_shader);
1.58 - fsok = glsl_check_shader_error("Failed to compile fragment shader", glsl_frag_shader);
1.59 + glsl_frag_shader = glCreateShaderObjectARB(GL_FRAGMENT_SHADER_ARB);
1.60 + glShaderSourceARB( glsl_frag_shader, 1, &fragment_src, NULL );
1.61 + glCompileShaderARB(glsl_frag_shader);
1.62 + fsok = glsl_check_shader_error("Failed to compile fragment shader", glsl_frag_shader);
1.65 if( vsok && fsok ) {
1.66 - if( vertex_src != NULL ) {
1.67 - glAttachObjectARB(glsl_program, glsl_vert_shader);
1.69 - if( fragment_src != NULL ) {
1.70 - glAttachObjectARB(glsl_program, glsl_frag_shader);
1.72 - glLinkProgramARB(glsl_program);
1.73 - pok = glsl_check_program_error( "Failed to link shader program", glsl_program );
1.74 + if( vertex_src != NULL ) {
1.75 + glAttachObjectARB(glsl_program, glsl_vert_shader);
1.77 + if( fragment_src != NULL ) {
1.78 + glAttachObjectARB(glsl_program, glsl_frag_shader);
1.80 + glLinkProgramARB(glsl_program);
1.81 + pok = glsl_check_program_error( "Failed to link shader program", glsl_program );
1.84 - glUseProgramObjectARB(glsl_program);
1.85 - pok = glsl_check_program_error( "Failed to apply shader program", glsl_program );
1.86 - glsl_enable_shaders(FALSE); // initially disabled
1.87 + glUseProgramObjectARB(glsl_program);
1.88 + pok = glsl_check_program_error( "Failed to apply shader program", glsl_program );
1.89 + glsl_enable_shaders(FALSE); // initially disabled
1.91 - glsl_unload_shaders();
1.92 + glsl_unload_shaders();
1.96 @@ -109,11 +109,11 @@
1.97 void glsl_enable_shaders(gboolean en)
1.99 if( glsl_program != 0 ) {
1.101 - glUseProgramObjectARB(glsl_program);
1.103 - glUseProgramObjectARB(0);
1.106 + glUseProgramObjectARB(glsl_program);
1.108 + glUseProgramObjectARB(0);
1.113 @@ -136,22 +136,22 @@
1.115 glGetShaderiv( shader, GL_COMPILE_STATUS, &value );
1.117 - char buf[MAX_ERROR_BUF];
1.119 - glGetShaderInfoLog( shader, sizeof(buf), &length, buf );
1.120 - ERROR( "%s: %s", msg, buf );
1.122 + char buf[MAX_ERROR_BUF];
1.124 + glGetShaderInfoLog( shader, sizeof(buf), &length, buf );
1.125 + ERROR( "%s: %s", msg, buf );
1.130 gboolean glsl_check_program_error( char *msg, GLuint program )
1.132 if( glGetError() != GL_NO_ERROR ) {
1.133 - char buf[MAX_ERROR_BUF];
1.135 - glGetProgramInfoLog( program, sizeof(buf), &length, buf );
1.136 - ERROR( "%s: %s", msg, buf );
1.138 + char buf[MAX_ERROR_BUF];
1.140 + glGetProgramInfoLog( program, sizeof(buf), &length, buf );
1.141 + ERROR( "%s: %s", msg, buf );
1.146 @@ -161,41 +161,41 @@
1.147 gboolean vsok = TRUE, fsok = TRUE, pok = FALSE;
1.149 if( vertex_src == NULL && fragment_src == NULL ) {
1.154 glsl_program = glCreateProgram();
1.156 if( vertex_src != NULL ) {
1.157 - glsl_vert_shader = glCreateShader(GL_VERTEX_SHADER);
1.158 - glShaderSource( glsl_vert_shader, 1, &vertex_src, NULL );
1.159 - glCompileShader(glsl_vert_shader);
1.160 - vsok = glsl_check_shader_error( "Failed to compile vertex shader", glsl_vert_shader );
1.161 + glsl_vert_shader = glCreateShader(GL_VERTEX_SHADER);
1.162 + glShaderSource( glsl_vert_shader, 1, &vertex_src, NULL );
1.163 + glCompileShader(glsl_vert_shader);
1.164 + vsok = glsl_check_shader_error( "Failed to compile vertex shader", glsl_vert_shader );
1.166 if( fragment_src != NULL ) {
1.167 - glsl_frag_shader = glCreateShader(GL_FRAGMENT_SHADER);
1.168 - glShaderSource( glsl_frag_shader, 1, &fragment_src, NULL );
1.169 - glCompileShader(glsl_frag_shader);
1.170 - fsok = glsl_check_shader_error( "Failed to compile fragment shader", glsl_frag_shader );
1.171 + glsl_frag_shader = glCreateShader(GL_FRAGMENT_SHADER);
1.172 + glShaderSource( glsl_frag_shader, 1, &fragment_src, NULL );
1.173 + glCompileShader(glsl_frag_shader);
1.174 + fsok = glsl_check_shader_error( "Failed to compile fragment shader", glsl_frag_shader );
1.177 if( vsok && fsok ) {
1.178 - if( vertex_src != NULL ) {
1.179 - glAttachShader(glsl_program, glsl_vert_shader);
1.181 - if( fragment_src != NULL ) {
1.182 - glAttachShader(glsl_program, glsl_frag_shader);
1.184 - glLinkProgram(glsl_program);
1.185 - pok = glsl_check_program_error( "Failed to link shader program", glsl_program );
1.186 + if( vertex_src != NULL ) {
1.187 + glAttachShader(glsl_program, glsl_vert_shader);
1.189 + if( fragment_src != NULL ) {
1.190 + glAttachShader(glsl_program, glsl_frag_shader);
1.192 + glLinkProgram(glsl_program);
1.193 + pok = glsl_check_program_error( "Failed to link shader program", glsl_program );
1.197 - glUseProgram(glsl_program);
1.198 - pok = glsl_check_program_error( "Failed to apply shader program", glsl_program );
1.199 - glsl_enable_shaders(FALSE); // initially disabled
1.200 + glUseProgram(glsl_program);
1.201 + pok = glsl_check_program_error( "Failed to apply shader program", glsl_program );
1.202 + glsl_enable_shaders(FALSE); // initially disabled
1.204 - glsl_unload_shaders();
1.205 + glsl_unload_shaders();
1.209 @@ -204,11 +204,11 @@
1.210 void glsl_enable_shaders(gboolean en)
1.212 if( glsl_program != 0 ) {
1.214 - glUseProgram(glsl_program);
1.219 + glUseProgram(glsl_program);