Make the test check for core GL version 1.3 in addition to testing for

GL_ARB_texture_compression.  Also make the test list the compression formats
the driver "encourages" the app to use.
This commit is contained in:
Ian Romanick 2004-06-17 20:53:07 +00:00
parent 919498e41c
commit fb75ca1b65
1 changed files with 22 additions and 2 deletions

View File

@ -65,8 +65,10 @@ static const char *TextureName (GLenum TC)
return "GL_RGBA_S3TC";
case GL_RGBA4_S3TC:
return "GL_RGBA4_S3TC";
case 0:
return "Invalid format";
default:
return "?";
return "Unknown format";
}
}
@ -356,6 +358,12 @@ static void Key( unsigned char key, int x, int y )
int main( int argc, char *argv[] )
{
float gl_version;
GLint num_formats;
GLint i;
GLint formats[64];
glutInit( &argc, argv );
glutInitWindowPosition( 0, 0 );
glutInitWindowSize( 400, 300 );
@ -367,7 +375,9 @@ int main( int argc, char *argv[] )
exit(0);
}
if (!glutExtensionSupported("GL_ARB_texture_compression")) {
gl_version = atof( (const char *) glGetString( GL_VERSION ) );
if ( (gl_version < 1.3)
&& !glutExtensionSupported("GL_ARB_texture_compression") ) {
printf("Sorry, GL_ARB_texture_compression not supported\n");
exit(0);
}
@ -381,6 +391,16 @@ int main( int argc, char *argv[] )
s3tc = GL_TRUE;
}
glGetIntegerv( GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB, & num_formats );
(void) memset( formats, 0, sizeof( formats ) );
glGetIntegerv( GL_COMPRESSED_TEXTURE_FORMATS_ARB, formats );
printf( "The following texture formats are supported:\n" );
for ( i = 0 ; i < num_formats ; i++ ) {
printf( "\t%s\n", TextureName( formats[i] ) );
}
Init();
glutReshapeFunc( Reshape );