r500: add missing brackets around depth testing
[mesa.git] / progs / tests / fbotest1.c
index 3faa55eb907c0ffff7ad3701b1dc66224109d190..8f4569ff3b4f466cb4b3d71e36fd1de438bfccb6 100644 (file)
@@ -13,8 +13,9 @@
 #include <math.h>
 #include <GL/glut.h>
 
+static int Win;
 static int Width = 400, Height = 400;
-static GLuint MyFB;
+static GLuint MyFB, MyRB;
 
 
 static void
@@ -65,6 +66,7 @@ Display( void )
 
    free(buffer);
    glutSwapBuffers();
+   CheckError(__LINE__);
 }
 
 
@@ -91,6 +93,18 @@ Reshape( int width, int height )
 }
 
 
+static void
+CleanUp(void)
+{
+   glDeleteFramebuffersEXT(1, &MyFB);
+   glDeleteRenderbuffersEXT(1, &MyRB);
+   assert(!glIsFramebufferEXT(MyFB));
+   assert(!glIsRenderbufferEXT(MyRB));
+   glutDestroyWindow(Win);
+   exit(0);
+}
+
+
 static void
 Key( unsigned char key, int x, int y )
 {
@@ -98,7 +112,7 @@ Key( unsigned char key, int x, int y )
    (void) y;
    switch (key) {
       case 27:
-         exit(0);
+         CleanUp();
          break;
    }
    glutPostRedisplay();
@@ -108,7 +122,6 @@ Key( unsigned char key, int x, int y )
 static void
 Init( void )
 {
-   GLuint rb;
    GLint i;
 
    if (!glutExtensionSupported("GL_EXT_framebuffer_object")) {
@@ -124,29 +137,32 @@ Init( void )
    assert(!glIsFramebufferEXT(MyFB));
    /* Note, continue to use MyFB below */
 
-   glGenRenderbuffersEXT(1, &rb);
-   assert(rb);
-   assert(!glIsRenderbufferEXT(rb));
-   glDeleteRenderbuffersEXT(1, &rb);
-   assert(!glIsRenderbufferEXT(rb));
-   rb = 42; /* an arbitrary ID */
+   glGenRenderbuffersEXT(1, &MyRB);
+   assert(MyRB);
+   assert(!glIsRenderbufferEXT(MyRB));
+   glDeleteRenderbuffersEXT(1, &MyRB);
+   assert(!glIsRenderbufferEXT(MyRB));
+   MyRB = 42; /* an arbitrary ID */
 
    glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, MyFB);
    assert(glIsFramebufferEXT(MyFB));
-   glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, rb);
-   assert(glIsRenderbufferEXT(rb));
+   glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, MyRB);
+   assert(glIsRenderbufferEXT(MyRB));
 
    glGetIntegerv(GL_RENDERBUFFER_BINDING_EXT, &i);
-   assert(i == rb);
+   assert(i == MyRB);
 
    glGetIntegerv(GL_FRAMEBUFFER_BINDING_EXT, &i);
    assert(i == MyFB);
 
+   CheckError(__LINE__);
    glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT1_EXT,
-                                GL_RENDERBUFFER_EXT, rb);
+                                GL_RENDERBUFFER_EXT, MyRB);
 
    glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGB, Width, Height);
 
+   CheckError(__LINE__);
+
    {
       GLint r, g, b, a;
       glGetRenderbufferParameterivEXT(GL_RENDERBUFFER_EXT,
@@ -157,6 +173,7 @@ Init( void )
                                       GL_RENDERBUFFER_BLUE_SIZE_EXT, &b);
       glGetRenderbufferParameterivEXT(GL_RENDERBUFFER_EXT,
                                       GL_RENDERBUFFER_ALPHA_SIZE_EXT, &a);
+      CheckError(__LINE__);
       printf("renderbuffer RGBA sizes = %d %d %d %d\n", r, g, b, a);
 
       glGetIntegerv(GL_RED_BITS, &r);
@@ -166,10 +183,9 @@ Init( void )
       printf("Visual RGBA sizes = %d %d %d %d\n", r, g, b, a);
    }
 
-   CheckError(__LINE__);
-
    /* restore to default */
    glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
+   CheckError(__LINE__);
 }
 
 
@@ -180,7 +196,7 @@ main( int argc, char *argv[] )
    glutInitWindowPosition( 0, 0 );
    glutInitWindowSize(Width, Height);
    glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
-   glutCreateWindow(argv[0]);
+   Win = glutCreateWindow(argv[0]);
    glutReshapeFunc( Reshape );
    glutKeyboardFunc( Key );
    glutDisplayFunc( Display );