summaryrefslogtreecommitdiff
path: root/progs/tests
diff options
context:
space:
mode:
Diffstat (limited to 'progs/tests')
-rw-r--r--progs/tests/Makefile1
-rw-r--r--progs/tests/bug_texstore_i8.c2
-rw-r--r--progs/tests/crossbar.c2
-rw-r--r--progs/tests/cva.c8
-rw-r--r--progs/tests/fptest1.c2
-rw-r--r--progs/tests/invert.c2
-rw-r--r--progs/tests/packedpixels.c1
-rw-r--r--progs/tests/prog_parameter.c5
-rw-r--r--progs/tests/quads.c3
-rw-r--r--progs/tests/scissor-viewport.c4
-rw-r--r--progs/tests/scissor.c4
-rw-r--r--progs/tests/stencilwrap.c2
-rw-r--r--progs/tests/tex1d.c2
-rw-r--r--progs/tests/texdown.c3
-rw-r--r--progs/tests/texleak.c140
-rw-r--r--progs/tests/unfilledclip.c2
-rw-r--r--progs/tests/vpeval.c10
17 files changed, 174 insertions, 19 deletions
diff --git a/progs/tests/Makefile b/progs/tests/Makefile
index 197e14d5b0..3e2541186b 100644
--- a/progs/tests/Makefile
+++ b/progs/tests/Makefile
@@ -98,6 +98,7 @@ SOURCES = \
texdown \
texfilt.c \
texgenmix.c \
+ texleak.c \
texline.c \
texobj.c \
texobjshare.c \
diff --git a/progs/tests/bug_texstore_i8.c b/progs/tests/bug_texstore_i8.c
index 10e5eba7c5..b070011bd2 100644
--- a/progs/tests/bug_texstore_i8.c
+++ b/progs/tests/bug_texstore_i8.c
@@ -73,7 +73,7 @@ static void Init(void)
0,
sourceFormat,
GL_UNSIGNED_BYTE,
- //GL_UNSIGNED_INT,
+ /* GL_UNSIGNED_INT, */
tex2d);
glEnable(Target);
diff --git a/progs/tests/crossbar.c b/progs/tests/crossbar.c
index bd8e05aee1..2988e20920 100644
--- a/progs/tests/crossbar.c
+++ b/progs/tests/crossbar.c
@@ -174,7 +174,7 @@ static void Init( void )
exit(1);
}
- printf("\nAll %u squares should be the same color.\n", NUM_TESTS + 1);
+ printf("\nAll %lu squares should be the same color.\n", (unsigned long) NUM_TESTS + 1);
(void) memset( temp, 0x00, sizeof( temp ) );
glBindTexture( GL_TEXTURE_2D, 1 );
diff --git a/progs/tests/cva.c b/progs/tests/cva.c
index 80483900cb..02d1dcba2e 100644
--- a/progs/tests/cva.c
+++ b/progs/tests/cva.c
@@ -39,7 +39,7 @@ GLboolean compiled = GL_TRUE;
GLboolean doubleBuffer = GL_TRUE;
-void init( void )
+static void init( void )
{
glClearColor( 0.0, 0.0, 0.0, 0.0 );
glShadeModel( GL_SMOOTH );
@@ -69,7 +69,7 @@ void init( void )
#endif
}
-void display( void )
+static void display( void )
{
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
@@ -81,7 +81,7 @@ void display( void )
}
}
-void keyboard( unsigned char key, int x, int y )
+static void keyboard( unsigned char key, int x, int y )
{
switch ( key ) {
case 27:
@@ -92,7 +92,7 @@ void keyboard( unsigned char key, int x, int y )
glutPostRedisplay();
}
-GLboolean args( int argc, char **argv )
+static GLboolean args( int argc, char **argv )
{
GLint i;
diff --git a/progs/tests/fptest1.c b/progs/tests/fptest1.c
index 2b8f8d0f5e..1f30d5733e 100644
--- a/progs/tests/fptest1.c
+++ b/progs/tests/fptest1.c
@@ -57,6 +57,7 @@ static void Key( unsigned char key, int x, int y )
static void Init( void )
{
+#if 0
static const char *prog0 =
"!!FP1.0\n"
"MUL o[COLR], R0, f[WPOS]; \n"
@@ -73,6 +74,7 @@ static void Init( void )
"MOV HC, H2; \n"
"END \n"
;
+#endif
/* masked updates, defines, declarations */
static const char *prog1 =
diff --git a/progs/tests/invert.c b/progs/tests/invert.c
index 3bc97a460b..45001b44d0 100644
--- a/progs/tests/invert.c
+++ b/progs/tests/invert.c
@@ -165,7 +165,7 @@ static void Init( void )
"square should look upside-down.\n");
- image = LoadRGBImage( IMAGE_FILE, & img_width, & img_height,
+ image = LoadRGBImage( IMAGE_FILE, (GLint *) & img_width, (GLint *) & img_height,
& img_format );
if ( image == NULL ) {
printf( "Could not open image file \"%s\".\n", IMAGE_FILE );
diff --git a/progs/tests/packedpixels.c b/progs/tests/packedpixels.c
index c8884bb79f..1e70a31151 100644
--- a/progs/tests/packedpixels.c
+++ b/progs/tests/packedpixels.c
@@ -274,6 +274,7 @@ Draw(void)
glRasterPos2i(8, 6);
sprintf(s, "Internal Texture Format [f/F]: %s (%d of %lu)",
IntFormats[CurFormat].name, CurFormat + 1, NUM_INT_FORMATS);
+ IntFormats[CurFormat].name, CurFormat + 1, (unsigned long) NUM_INT_FORMATS);
PrintString(s);
glPopMatrix();
diff --git a/progs/tests/prog_parameter.c b/progs/tests/prog_parameter.c
index 0241f3a249..2de7e2994a 100644
--- a/progs/tests/prog_parameter.c
+++ b/progs/tests/prog_parameter.c
@@ -192,6 +192,7 @@ static void Init( void )
GLfloat * params;
GLint max_program_env_parameters;
GLint max_program_local_parameters;
+ int i;
printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
@@ -238,6 +239,10 @@ static void Init( void )
params = malloc(max_program_env_parameters * 4 * sizeof(GLfloat));
+ for (i = 0; i < max_program_env_parameters * 4; i++) {
+ params[i] = 0.0F;
+ }
+
pass &= set_parameter_batch(max_program_env_parameters, params, "Env",
program_env_parameter4fv,
program_env_parameters4fv,
diff --git a/progs/tests/quads.c b/progs/tests/quads.c
index 2098b51ccd..e5b9920b66 100644
--- a/progs/tests/quads.c
+++ b/progs/tests/quads.c
@@ -17,7 +17,10 @@ static GLfloat Xrot = 40, Yrot = 0, Zrot = 0;
static GLboolean Anim = GL_TRUE;
static GLuint Vbuffer = 0;
+#if 1
+#else
static GLfloat buf[NUM_QUADS * 6 * 4];
+#endif
static GLboolean doSwapBuffers = GL_TRUE;
diff --git a/progs/tests/scissor-viewport.c b/progs/tests/scissor-viewport.c
index 582e65fb72..4ef307b424 100644
--- a/progs/tests/scissor-viewport.c
+++ b/progs/tests/scissor-viewport.c
@@ -104,7 +104,7 @@ static void draw(void)
glDisable(GL_SCISSOR_TEST);
- //glutSwapBuffers();
+ /* glutSwapBuffers(); */
glFlush();
}
@@ -120,7 +120,7 @@ int main(int argc, char **argv)
glutInitWindowPosition(100, 0);
glutInitWindowSize(prog.width, prog.height);
- //type = GLUT_RGB | GLUT_DOUBLE;
+ /* type = GLUT_RGB | GLUT_DOUBLE; */
type = GLUT_RGB | GLUT_SINGLE;
glutInitDisplayMode(type);
diff --git a/progs/tests/scissor.c b/progs/tests/scissor.c
index 2dfd2174e8..e5a68ffabd 100644
--- a/progs/tests/scissor.c
+++ b/progs/tests/scissor.c
@@ -134,7 +134,7 @@ static void draw(void)
glDisable(GL_SCISSOR_TEST);
- //glutSwapBuffers();
+ /* glutSwapBuffers(); */
glFlush();
}
@@ -150,7 +150,7 @@ int main(int argc, char **argv)
glutInitWindowPosition(100, 0);
glutInitWindowSize(prog.width, prog.height);
- //type = GLUT_RGB | GLUT_DOUBLE;
+ /* type = GLUT_RGB | GLUT_DOUBLE; */
type = GLUT_RGB | GLUT_SINGLE;
glutInitDisplayMode(type);
diff --git a/progs/tests/stencilwrap.c b/progs/tests/stencilwrap.c
index 2e219fd8b5..d396fc2a53 100644
--- a/progs/tests/stencilwrap.c
+++ b/progs/tests/stencilwrap.c
@@ -257,7 +257,7 @@ static void Init( void )
* part of GL 1.4.
*/
- ver_str = glGetString( GL_VERSION );
+ ver_str = (char *) glGetString( GL_VERSION );
version = (ver_str == NULL) ? 1.0 : atof( ver_str );
wrapping = (glutExtensionSupported("GL_EXT_stencil_wrap") || (version >= 1.4));
diff --git a/progs/tests/tex1d.c b/progs/tests/tex1d.c
index 4abe1068c7..7d67451c0d 100644
--- a/progs/tests/tex1d.c
+++ b/progs/tests/tex1d.c
@@ -39,11 +39,13 @@ static void draw( void )
+/*
static void idle( void )
{
Angle += 2.0;
glutPostRedisplay();
}
+*/
diff --git a/progs/tests/texdown.c b/progs/tests/texdown.c
index e6881d39a0..92df01b83d 100644
--- a/progs/tests/texdown.c
+++ b/progs/tests/texdown.c
@@ -162,7 +162,7 @@ MeasureDownloadRate(void)
const int image_bytes = align(w * h * BytesPerTexel(Format), ALIGN);
const int bytes = image_bytes * NR_TEXOBJ;
GLubyte *orig_texImage, *orig_getImage;
- GLubyte *texImage, *getImage;
+ GLubyte *texImage;
GLdouble t0, t1, time;
int count;
int i;
@@ -184,7 +184,6 @@ MeasureDownloadRate(void)
printf("alloc %p %p\n", orig_texImage, orig_getImage);
texImage = (GLubyte *)align((unsigned long)orig_texImage, ALIGN);
- getImage = (GLubyte *)align((unsigned long)orig_getImage, ALIGN);
for (i = 1; !(((unsigned long)texImage) & i); i<<=1)
;
diff --git a/progs/tests/texleak.c b/progs/tests/texleak.c
new file mode 100644
index 0000000000..5cf4ff3239
--- /dev/null
+++ b/progs/tests/texleak.c
@@ -0,0 +1,140 @@
+/*
+ * 'Texture leak' test
+ *
+ * Allocates and uses an additional texture of the maximum supported size for
+ * each frame. This tests the system's ability to cope with using increasing
+ * amounts of texture memory.
+ *
+ * Michel Dänzer July 2009 This program is in the public domain.
+ */
+
+
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/time.h>
+#include <unistd.h>
+#include <GL/glew.h>
+#include <GL/glut.h>
+
+
+GLint size;
+GLvoid *image;
+static GLuint numTexObj;
+static GLuint *texObj;
+
+
+static void Idle( void )
+{
+ glutPostRedisplay();
+}
+
+
+static void DrawObject(void)
+{
+ static const GLfloat tex_coords[] = { 0.0, 0.0, 1.0, 1.0, 0.0 };
+ static const GLfloat vtx_coords[] = { -1.0, -1.0, 1.0, 1.0, -1.0 };
+ GLint i, j;
+
+ glEnable(GL_TEXTURE_2D);
+
+ for (i = 0; i < numTexObj; i++) {
+ glBindTexture(GL_TEXTURE_2D, texObj[i]);
+ glBegin(GL_QUADS);
+ for (j = 0; j < 4; j++ ) {
+ glTexCoord2f(tex_coords[j], tex_coords[j+1]);
+ glVertex2f( vtx_coords[j], vtx_coords[j+1] );
+ }
+ glEnd();
+ }
+}
+
+
+static void Display( void )
+{
+ struct timeval start, end;
+
+ texObj = realloc(texObj, ++numTexObj * sizeof(*texObj));
+
+ /* allocate a texture object */
+ glGenTextures(1, texObj + (numTexObj - 1));
+
+ glBindTexture(GL_TEXTURE_2D, texObj[numTexObj - 1]);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ memset(image, (16 * numTexObj) & 0xff, 4 * size * size);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, size, size, 0,
+ GL_RGBA, GL_UNSIGNED_BYTE, image);
+
+ gettimeofday(&start, NULL);
+
+ glClear( GL_COLOR_BUFFER_BIT );
+
+ glPushMatrix();
+ glScalef(5.0, 5.0, 5.0);
+ DrawObject();
+ glPopMatrix();
+
+ glutSwapBuffers();
+
+ glFinish();
+ gettimeofday(&end, NULL);
+ printf("Rendering frame took %lu ms using %u MB of textures\n",
+ end.tv_sec * 1000 + end.tv_usec / 1000 - start.tv_sec * 1000 -
+ start.tv_usec / 1000, numTexObj * 4 * size / 1024 * size / 1024);
+
+ sleep(1);
+}
+
+
+static void Reshape( int width, int height )
+{
+ glViewport( 0, 0, width, height );
+ glMatrixMode( GL_PROJECTION );
+ glLoadIdentity();
+ glOrtho( -6.0, 6.0, -6.0, 6.0, 10.0, 100.0 );
+ glMatrixMode( GL_MODELVIEW );
+ glLoadIdentity();
+ glTranslatef( 0.0, 0.0, -70.0 );
+}
+
+
+static void Init( int argc, char *argv[] )
+{
+ glGetIntegerv(GL_MAX_TEXTURE_SIZE, &size);
+ printf("%d x %d max texture size\n", size, size);
+
+ image = malloc(4 * size * size);
+ if (!image) {
+ fprintf(stderr, "Failed to allocate %u bytes of memory\n", 4 * size * size);
+ exit(1);
+ }
+
+ glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+
+ glShadeModel(GL_FLAT);
+ glClearColor(0.3, 0.3, 0.4, 1.0);
+
+ Idle();
+}
+
+
+int main( int argc, char *argv[] )
+{
+ glutInit( &argc, argv );
+ glutInitWindowSize( 300, 300 );
+ glutInitWindowPosition( 0, 0 );
+ glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
+ glutCreateWindow(argv[0] );
+ glewInit();
+
+ Init( argc, argv );
+
+ glutReshapeFunc( Reshape );
+ glutDisplayFunc( Display );
+ glutIdleFunc(Idle);
+
+ glutMainLoop();
+ return 0;
+}
diff --git a/progs/tests/unfilledclip.c b/progs/tests/unfilledclip.c
index db6fffa3e8..331cbf2f6b 100644
--- a/progs/tests/unfilledclip.c
+++ b/progs/tests/unfilledclip.c
@@ -31,6 +31,7 @@
static int win_width, win_height;
+#if 0
static void
line(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
{
@@ -39,6 +40,7 @@ line(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
glVertex2f(x2, y2);
glEnd();
}
+#endif
static void
line3(GLfloat x1, GLfloat y1, GLfloat z1, GLfloat x2, GLfloat y2, GLfloat z2)
diff --git a/progs/tests/vpeval.c b/progs/tests/vpeval.c
index f07737f973..3e8a732df5 100644
--- a/progs/tests/vpeval.c
+++ b/progs/tests/vpeval.c
@@ -94,16 +94,16 @@ GLfloat colorPoints[4][4][4] =
};
-void
+static void
initlights(void)
{
+#if 0 /* no lighting for now */
GLfloat ambient[] = {0.2, 0.2, 0.2, 1.0};
GLfloat position[] = {0.0, 0.0, 2.0, 1.0};
GLfloat mat_diffuse[] = {0.6, 0.6, 0.6, 1.0};
GLfloat mat_specular[] = {1.0, 1.0, 1.0, 1.0};
GLfloat mat_shininess[] = {50.0};
-#if 0 /* no lighting for now */
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
@@ -116,7 +116,7 @@ initlights(void)
#endif
}
-void
+static void
display(void)
{
glClearColor(.3, .3, .3, 0);
@@ -130,7 +130,7 @@ display(void)
glFlush();
}
-void
+static void
myinit(int argc, char *argv[])
{
glClearColor(0.0, 0.0, 0.0, 1.0);
@@ -186,7 +186,7 @@ myinit(int argc, char *argv[])
}
}
-void
+static void
myReshape(int w, int h)
{
glViewport(0, 0, w, h);