Move from main() the last remaining GLUT call and the last bit of logic
needed to run a piglit-framework-glut test into piglit-framework-glut.c.

For symmetry, also move from main() the last bit of logic needed to run
a piglit-framework-fbo test into piglit-framework-fbo.c

Now main() has a simple body and a well-defined purpose: to parse argv and
then dispatch the testrun to either piglit-framework-fbo or
piglit-framework-glut.

Signed-off-by: Chad Versace <[email protected]>
---
 tests/util/piglit-framework-fbo.c  |   12 +++++++++++-
 tests/util/piglit-framework-fbo.h  |    2 +-
 tests/util/piglit-framework-glut.c |    7 +++++++
 tests/util/piglit-framework-glut.h |    1 +
 tests/util/piglit-framework.c      |   10 +++-------
 5 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/tests/util/piglit-framework-fbo.c 
b/tests/util/piglit-framework-fbo.c
index 0b940f3..faf1ef7 100644
--- a/tests/util/piglit-framework-fbo.c
+++ b/tests/util/piglit-framework-fbo.c
@@ -61,6 +61,9 @@ static struct waffle_window *piglit_waffle_window;
 static struct waffle_context *piglit_waffle_context;
 #endif
 
+static void
+piglit_framework_fbo_destroy(void);
+
 #ifdef PIGLIT_FRAMEWORK_FBO_USE_GLX
 static void
 piglit_framework_fbo_glx_init()
@@ -311,7 +314,7 @@ piglit_framework_fbo_init(void)
        return piglit_framework_fbo_gl_init();
 }
 
-void
+static void
 piglit_framework_fbo_destroy(void)
 {
 #ifdef USE_OPENGL
@@ -326,3 +329,10 @@ piglit_framework_fbo_destroy(void)
        piglit_framework_fbo_waffle_destroy();
 #endif
 }
+
+void piglit_framework_fbo_run(void)
+{
+       enum piglit_result result = piglit_display();
+       piglit_framework_fbo_destroy();
+       piglit_report_result(result);
+}
diff --git a/tests/util/piglit-framework-fbo.h 
b/tests/util/piglit-framework-fbo.h
index 2fdf79d..7e52e50 100644
--- a/tests/util/piglit-framework-fbo.h
+++ b/tests/util/piglit-framework-fbo.h
@@ -24,4 +24,4 @@
 #include <stdbool.h>
 
 bool piglit_framework_fbo_init(void);
-void piglit_framework_fbo_destroy(void);
+void piglit_framework_fbo_run(void);
diff --git a/tests/util/piglit-framework-glut.c 
b/tests/util/piglit-framework-glut.c
index f02860b..6e91ec4 100644
--- a/tests/util/piglit-framework-glut.c
+++ b/tests/util/piglit-framework-glut.c
@@ -118,3 +118,10 @@ piglit_framework_glut_init(int argc, char *argv[])
        glewInit();
 #endif
 }
+
+void
+piglit_framework_glut_run(void)
+{
+       glutMainLoop();
+       piglit_report_result(result);
+}
diff --git a/tests/util/piglit-framework-glut.h 
b/tests/util/piglit-framework-glut.h
index 60bcc00..7116adc 100644
--- a/tests/util/piglit-framework-glut.h
+++ b/tests/util/piglit-framework-glut.h
@@ -26,3 +26,4 @@
 #include "piglit-util.h"
 
 void piglit_framework_glut_init(int argc, char *argv[]);
+void piglit_framework_glut_run(void);
diff --git a/tests/util/piglit-framework.c b/tests/util/piglit-framework.c
index a0ef496..16b8516 100644
--- a/tests/util/piglit-framework.c
+++ b/tests/util/piglit-framework.c
@@ -41,8 +41,6 @@ bool piglit_use_fbo = false;
 int piglit_automatic = 0;
 unsigned piglit_winsys_fbo = 0;
 
-static enum piglit_result result;
-
 #ifndef _WIN32
 __attribute__((weak)) int piglit_width = 100;
 __attribute__((weak)) int piglit_height = 100;
@@ -135,13 +133,11 @@ int main(int argc, char *argv[])
        piglit_init(argc, argv);
 
        if (piglit_use_fbo) {
-               result = piglit_display();
-               piglit_framework_fbo_destroy();
+               piglit_framework_fbo_run();
        } else {
-               glutMainLoop();
+               piglit_framework_glut_run();
        }
 
-       piglit_report_result(result);
-       /* UNREACHED */
+       assert(false);
        return 0;
 }
-- 
1.7.10.4

_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to