I'm trying to transition Piglit from using GLUT to using Waffle. That
requires either killing or wrapping all GLUT code.

Define enum piglit_gl_visual in piglit-framework.h, of which each value
matches its corresponding GLUT visual enum.

Do the following substitution in all util and test sources:
    GLUT_RGB            -> PIGLIT_GL_VISUAL_RGB
    GLUT_RGBA           -> PIGLIT_GL_VISUAL_RGBA
    GLUT_INDEX          -> PIGLIT_GL_VISUAL_INDEX
    GLUT_DOUBLE         -> PIGLIT_GL_VISUAL_DOUBLE
    GLUT_ACCUM          -> PIGLIT_GL_VISUAL_ACCUM
    GLUT_ALPHA          -> PIGLIT_GL_VISUAL_ALPHA
    GLUT_DEPTH          -> PIGLIT_GL_VISUAL_DEPTH
    GLUT_STENCIL        -> PIGLIT_GL_VISUAL_STENCIL

Signed-off-by: Chad Versace <chad.vers...@linux.intel.com>

=========================================================================

This is a giant sed-job patch. Here is an example diff of a test file.

diff --git a/tests/asmparsertest/asmparsertest.c 
b/tests/asmparsertest/asmparsertest.c
index c0f977e..e187603 100644
--- a/tests/asmparsertest/asmparsertest.c
+++ b/tests/asmparsertest/asmparsertest.c
@@ -33,7 +33,7 @@
 PIGLIT_GL_TEST_MAIN(
     250 /*window_width*/,
     250 /*window_height*/,
-    GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH)
+    PIGLIT_GL_VISUAL_RGB | PIGLIT_GL_VISUAL_SINGLE | PIGLIT_GL_VISUAL_DEPTH)
 
 char *
 unix_line_endings(const char *input, size_t length)

=========================================================================

And here is the complete diff for tests/util.

diff --git a/tests/util/piglit-framework-fbo.c 
b/tests/util/piglit-framework-fbo.c
index 8610724..f9046d8 100644
--- a/tests/util/piglit-framework-fbo.c
+++ b/tests/util/piglit-framework-fbo.c
@@ -261,7 +261,7 @@ piglit_framework_fbo_gl_init(const struct 
piglit_gl_test_info *info)
                               tex,
                               0);
 
-       if (info->window_visual & (GLUT_DEPTH | GLUT_STENCIL)) {
+       if (info->window_visual & (PIGLIT_GL_VISUAL_DEPTH | 
PIGLIT_GL_VISUAL_STENCIL)) {
                /* Create a combined depth+stencil texture and attach it
                 * to the depth and stencil attachment points.
                 */
diff --git a/tests/util/piglit-framework.h b/tests/util/piglit-framework.h
index f93fcba..6114dd3 100644
--- a/tests/util/piglit-framework.h
+++ b/tests/util/piglit-framework.h
@@ -29,6 +29,26 @@
 #include <stdbool.h>
 
 /**
+ * A bitmask of these enums specifies visual attributes for the test's window.
+ *
+ * Each enum has the same value of its corresponding GLUT enum. That is, for
+ * each X, `PIGLIT_GL_VISUAL_X == GLUT_X`.
+ *
+ * \see piglit_gl_test_info::window_visual
+ */
+enum piglit_gl_visual {
+       PIGLIT_GL_VISUAL_RGB            = 0,
+       PIGLIT_GL_VISUAL_RGBA           = 0,
+       PIGLIT_GL_VISUAL_SINGLE         = 0,
+       PIGLIT_GL_VISUAL_INDEX          = 1 << 0,
+       PIGLIT_GL_VISUAL_DOUBLE         = 1 << 1,
+       PIGLIT_GL_VISUAL_ACCUM          = 1 << 2,
+       PIGLIT_GL_VISUAL_ALPHA          = 1 << 3,
+       PIGLIT_GL_VISUAL_DEPTH          = 1 << 4,
+       PIGLIT_GL_VISUAL_STENCIL        = 1 << 5,
+};
+
+/**
  * @brief Info needed to run an OpenGL test.
  *
  * To run a test, pass this to piglit_gl_test_run().
@@ -43,7 +63,9 @@ struct piglit_gl_test_info {
        int window_width;
        int window_height;
 
-       /** A bitmask such as `GLUT_RGBA | GLUT_DOUBLE`. */
+       /**
+        * A bitmask of `enum piglit_gl_visual`.
+        */
        int window_visual;
 
        /**
-- 
1.7.12.1

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to