From: Ian Romanick <ian.d.roman...@intel.com> Create a new function, piglit_gl_process_args, that does the command-line parsing. This happens after the test code between PIGLIT_GL_TEST_CONFIG_BEGIN and PIGLIT_GL_TEST_CONFIG_END. By having an explicit function that does this, tests can call it inside the BEGIN/END block. This may be useful for tests that expect certain arguments to be in specific positions.
Signed-off-by: Ian Romanick <ian.d.roman...@intel.com> Cc: Chad Versace <chad.vers...@linux.intel.com> --- tests/texturing/shaders/texelFetch.c | 10 ++++++---- tests/texturing/shaders/textureSize.c | 10 ++++++---- tests/util/piglit-framework-gl.c | 24 ++++++++++++++---------- tests/util/piglit-framework-gl.h | 10 +++++++--- 4 files changed, 33 insertions(+), 21 deletions(-) diff --git a/tests/texturing/shaders/texelFetch.c b/tests/texturing/shaders/texelFetch.c index ebd48cd..bc6cc8f 100644 --- a/tests/texturing/shaders/texelFetch.c +++ b/tests/texturing/shaders/texelFetch.c @@ -84,6 +84,12 @@ static enum shader_target test_stage = UNKNOWN; PIGLIT_GL_TEST_CONFIG_BEGIN + config.window_width = 900; + config.window_height = 600; + config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE; + + piglit_gl_process_args(&argc, argv, &config); + parse_args(argc, argv); if (test_stage == GS) { config.supports_gl_compat_version = 32; @@ -93,10 +99,6 @@ PIGLIT_GL_TEST_CONFIG_BEGIN config.supports_gl_core_version = 31; } - config.window_width = 900; - config.window_height = 600; - config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE; - PIGLIT_GL_TEST_CONFIG_END #define MAX_LOD_OR_SAMPLES 10.0 diff --git a/tests/texturing/shaders/textureSize.c b/tests/texturing/shaders/textureSize.c index f010d9c..ee64b07 100644 --- a/tests/texturing/shaders/textureSize.c +++ b/tests/texturing/shaders/textureSize.c @@ -52,6 +52,12 @@ static enum shader_target test_stage = UNKNOWN; PIGLIT_GL_TEST_CONFIG_BEGIN + config.window_width = 150; + config.window_height = 30; + config.window_visual = PIGLIT_GL_VISUAL_RGB | PIGLIT_GL_VISUAL_DOUBLE; + + piglit_gl_process_args(&argc, argv, &config); + parse_args(argc, argv); if (test_stage == GS) { config.supports_gl_compat_version = 32; @@ -61,10 +67,6 @@ PIGLIT_GL_TEST_CONFIG_BEGIN config.supports_gl_core_version = 31; } - config.window_width = 150; - config.window_height = 30; - config.window_visual = PIGLIT_GL_VISUAL_RGB | PIGLIT_GL_VISUAL_DOUBLE; - PIGLIT_GL_TEST_CONFIG_END static int lod_location; diff --git a/tests/util/piglit-framework-gl.c b/tests/util/piglit-framework-gl.c index 2a315be..dd2e6a5 100644 --- a/tests/util/piglit-framework-gl.c +++ b/tests/util/piglit-framework-gl.c @@ -43,18 +43,9 @@ static void process_args(int *argc, char *argv[], unsigned *force_samples); void -piglit_gl_test_config_init(int *argc, char *argv[], - struct piglit_gl_test_config *config) +piglit_gl_test_config_init(struct piglit_gl_test_config *config) { - unsigned force_samples = 0; - memset(config, 0, sizeof(*config)); - - process_args(argc, argv, &force_samples); - - if (force_samples > 1) - config->window_samples = force_samples; - } static void @@ -125,6 +116,19 @@ process_args(int *argc, char *argv[], unsigned *force_samples) } void +piglit_gl_process_args(int *argc, char *argv[], + struct piglit_gl_test_config *config) +{ + unsigned force_samples = 0; + + process_args(argc, argv, &force_samples); + + if (force_samples > 1) + config->window_samples = force_samples; + +} + +void piglit_gl_test_run(int argc, char *argv[], const struct piglit_gl_test_config *config) { diff --git a/tests/util/piglit-framework-gl.h b/tests/util/piglit-framework-gl.h index 7520f38..fcc1594 100644 --- a/tests/util/piglit-framework-gl.h +++ b/tests/util/piglit-framework-gl.h @@ -175,8 +175,11 @@ struct piglit_gl_test_config { * from command line arguments. */ void -piglit_gl_test_config_init(int *argc, char *argv[], - struct piglit_gl_test_config *config); +piglit_gl_test_config_init(struct piglit_gl_test_config *config); + +void +piglit_gl_process_args(int *argc, char *argv[], + struct piglit_gl_test_config *config); /** * Run the OpenGL test described by @a config. Does not return. @@ -210,7 +213,7 @@ piglit_gl_test_run(int argc, char *argv[], { \ struct piglit_gl_test_config config; \ \ - piglit_gl_test_config_init(&argc, argv, &config); \ + piglit_gl_test_config_init(&config); \ \ config.init = piglit_init; \ config.display = piglit_display; \ @@ -230,6 +233,7 @@ piglit_gl_test_run(int argc, char *argv[], #define PIGLIT_GL_TEST_CONFIG_END \ } \ \ + piglit_gl_process_args(&argc, argv, &config); \ piglit_gl_test_run(argc, argv, &config); \ \ assert(false); \ -- 1.8.1.4 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit