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