|
|
@ -202,11 +202,14 @@ static void APIENTRY GL2_BindTexture( GLenum tex, GLuint obj) |
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
static char *GL_PrintInfoLog( GLhandleARB object ) |
|
|
|
static char *GL_PrintInfoLog( GLhandleARB object, qboolean program ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
static char msg[8192]; |
|
|
|
static char msg[8192]; |
|
|
|
int maxLength = 0; |
|
|
|
int maxLength = 0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if( program && pglProgramiv) |
|
|
|
|
|
|
|
pglProgramiv( object, GL_OBJECT_INFO_LOG_LENGTH_ARB, &maxLength ); |
|
|
|
|
|
|
|
else |
|
|
|
pglGetObjectParameterivARB( object, GL_OBJECT_INFO_LOG_LENGTH_ARB, &maxLength ); |
|
|
|
pglGetObjectParameterivARB( object, GL_OBJECT_INFO_LOG_LENGTH_ARB, &maxLength ); |
|
|
|
|
|
|
|
|
|
|
|
if( maxLength >= sizeof( msg )) |
|
|
|
if( maxLength >= sizeof( msg )) |
|
|
@ -215,6 +218,9 @@ static char *GL_PrintInfoLog( GLhandleARB object ) |
|
|
|
maxLength = sizeof( msg ) - 1; |
|
|
|
maxLength = sizeof( msg ) - 1; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if( program && pglGetProgramInfoLog) |
|
|
|
|
|
|
|
pglGetProgramInfoLog( object, maxLength, &maxLength, msg ); |
|
|
|
|
|
|
|
else |
|
|
|
pglGetInfoLogARB( object, maxLength, &maxLength, msg ); |
|
|
|
pglGetInfoLogARB( object, maxLength, &maxLength, msg ); |
|
|
|
|
|
|
|
|
|
|
|
return msg; |
|
|
|
return msg; |
|
|
@ -276,7 +282,7 @@ static GLuint GL2_GenerateShader( gl2wrap_prog_t *prog, GLenum type ) |
|
|
|
|
|
|
|
|
|
|
|
if ( status == GL_FALSE ) |
|
|
|
if ( status == GL_FALSE ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
gEngfuncs.Con_Reportf( S_ERROR "GL2_GenerateShader( 0x%04x, 0x%x ): compile failed: %s\n", prog->flags, type, GL_PrintInfoLog(id)); |
|
|
|
gEngfuncs.Con_Reportf( S_ERROR "GL2_GenerateShader( 0x%04x, 0x%x ): compile failed: %s\n", prog->flags, type, GL_PrintInfoLog(id, false)); |
|
|
|
|
|
|
|
|
|
|
|
gEngfuncs.Con_DPrintf( "Shader text:\n%s\n\n", shader ); |
|
|
|
gEngfuncs.Con_DPrintf( "Shader text:\n%s\n\n", shader ); |
|
|
|
pglDeleteObjectARB( id ); |
|
|
|
pglDeleteObjectARB( id ); |
|
|
@ -358,7 +364,7 @@ static gl2wrap_prog_t *GL2_GetProg( const GLuint flags ) |
|
|
|
pglGetObjectParameterivARB( glprog, GL_OBJECT_LINK_STATUS_ARB, &status ); |
|
|
|
pglGetObjectParameterivARB( glprog, GL_OBJECT_LINK_STATUS_ARB, &status ); |
|
|
|
if ( status == GL_FALSE ) |
|
|
|
if ( status == GL_FALSE ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
gEngfuncs.Con_Reportf( S_ERROR "GL2_GetProg(): Failed linking progs for 0x%04x!\n%s\n", prog->flags, GL_PrintInfoLog(glprog) ); |
|
|
|
gEngfuncs.Con_Reportf( S_ERROR "GL2_GetProg(): Failed linking progs for 0x%04x!\n%s\n", prog->flags, GL_PrintInfoLog(glprog, true) ); |
|
|
|
prog->flags = 0; |
|
|
|
prog->flags = 0; |
|
|
|
if( pglDeleteProgram ) |
|
|
|
if( pglDeleteProgram ) |
|
|
|
pglDeleteProgram( glprog ); |
|
|
|
pglDeleteProgram( glprog ); |
|
|
|