This test was oldschool. It rolled its own main with a handful of GLUT functions. This patch converts it to use the PIGLIT_GL_TEST_MAIN macro.
Signed-off-by: Chad Versace <chad.vers...@linux.intel.com> --- tests/mesa/tests/texline.c | 83 +++++++++++++++++----------------------------- 1 file changed, 30 insertions(+), 53 deletions(-) diff --git a/tests/mesa/tests/texline.c b/tests/mesa/tests/texline.c index 1c99953..726c51f 100644 --- a/tests/mesa/tests/texline.c +++ b/tests/mesa/tests/texline.c @@ -12,14 +12,17 @@ #include <stdlib.h> #include <string.h> #include <math.h> -#include <GL/glut.h> -#include "../util/readtex.h" -#include "../util/writeimg.h" + +#include "piglit-util-gl-common.h" +#include "readtex.h" +#include "writeimg.h" #define TEXTURE_FILE "mesa/girl.rgb" -static int Width = 400, Height = 300; -static int Automatic = 0; +PIGLIT_GL_TEST_MAIN(400 /*window_width*/, + 300 /*window_height*/, + GLUT_RGB | GLUT_DOUBLE); + static const char* ScreenshotFile = 0; static void DoStar(int texture) @@ -124,22 +127,25 @@ static void Screenshot(void) WritePNGImage(ScreenshotFile, GL_RGB, 400, 300, (GLubyte*)shot, 1); } -static void Display(void) +enum piglit_result +piglit_display(void) { DoFrame(); - if (Automatic) { + if (piglit_automatic) { Screenshot(); - printf("PIGLIT: { }\n"); - exit(0); + return PIGLIT_SKIP; + } else { + return PIGLIT_PASS; } } static void Reshape(int width, int height) { - Width = width; - Height = height; - glViewport(0, 0, Width, Height); + piglit_width = width; + piglit_height = height; + + glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0.0, 4.0, 0.0, 3.0, -1.0, 1.0); @@ -147,22 +153,20 @@ static void Reshape(int width, int height) glLoadIdentity(); } - -static void Key( unsigned char key, int x, int y ) +void +piglit_init(int argc, char **argv) { - (void) x; - (void) y; - switch (key) { - case 27: - exit(0); - break; + GLuint u; + + if (argc == 1) { + ScreenshotFile = argv[1]; + } else { + printf("usage error\n"); + piglit_report_result(PIGLIT_FAIL); } -} + glutReshapeFunc(Reshape); -static void Init( int argc, char *argv[] ) -{ - GLuint u; for (u = 0; u < 2; u++) { char filename[256]; @@ -187,9 +191,7 @@ static void Init( int argc, char *argv[] ) strcpy(filename, TEXTURE_FILE); if (!LoadRGBMipmaps(filename, GL_RGB)) { printf("Error: couldn't load texture image\n"); - if (Automatic) - printf("PIGLIT: {'result': 'fail' }\n"); - exit(1); + piglit_report_result(PIGLIT_FAIL); } } @@ -200,30 +202,5 @@ static void Init( int argc, char *argv[] ) printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR)); printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS)); - Reshape(Width, Height); -} - - -int main( int argc, char *argv[] ) -{ - glutInit( &argc, argv ); - if (argc == 3 && !strcmp(argv[1], "-auto")) { - Automatic = 1; - ScreenshotFile = argv[2]; - } - glutInitWindowPosition(0, 0); - glutInitWindowSize(Width, Height); - - glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE); - - glutCreateWindow("texline"); - - Init(argc, argv); - - glutReshapeFunc(Reshape); - glutKeyboardFunc(Key); - glutDisplayFunc(Display); - - glutMainLoop(); - return 0; + Reshape(piglit_width, piglit_height); } -- 1.7.12.1 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit