On 11 October 2013 10:38, Jordan Justen <jordan.l.jus...@intel.com> wrote:
> If a test requires a certain size, it adds 'SIZE Width Height' to > the requirements section. Width and Height must be unsigned > integers. > > Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> > --- > tests/shaders/shader_runner.c | 40 > +++++++++++++++++++++++++++------------- > 1 file changed, 27 insertions(+), 13 deletions(-) > > diff --git a/tests/shaders/shader_runner.c b/tests/shaders/shader_runner.c > index fbc1964..2667aed 100644 > --- a/tests/shaders/shader_runner.c > +++ b/tests/shaders/shader_runner.c > @@ -38,22 +38,25 @@ > #include "parser_utils.h" > > static void > -get_required_versions(const char *script_name, > - struct piglit_gl_test_config *config); > +get_required_config(const char *script_name, > + struct piglit_gl_test_config *config); > GLenum > decode_drawing_mode(const char *mode_str); > > -PIGLIT_GL_TEST_CONFIG_BEGIN > +void > +get_uints(const char *line, unsigned *uints, unsigned count); > > - if (argc > 1) > - get_required_versions(argv[1], &config); > - else > - config.supports_gl_compat_version = 10; > +PIGLIT_GL_TEST_CONFIG_BEGIN > > config.window_width = 250; > config.window_height = 250; > Once we've identified all the piglit tests that require a specific size, we should come back and delete these two lines, so that shader tests that don't require a specific size will run with the piglit default window size. > config.window_visual = PIGLIT_GL_VISUAL_RGBA | > PIGLIT_GL_VISUAL_DOUBLE; > > + if (argc > 1) > + get_required_config(argv[1], &config); > + else > + config.supports_gl_compat_version = 10; > + > PIGLIT_GL_TEST_CONFIG_END > > const char passthrough_vertex_shader_source[] = > @@ -934,13 +937,15 @@ process_test_script(const char *script_name) > struct requirement_parse_results { > bool found_gl; > bool found_glsl; > + bool found_size; > struct component_version gl_version; > struct component_version glsl_version; > + unsigned size[2]; > }; > > static void > -parse_required_versions(struct requirement_parse_results *results, > - const char *script_name) > +parse_required_config(struct requirement_parse_results *results, > + const char *script_name) > { > unsigned text_size; > char *text = piglit_load_text_file(script_name, &text_size); > @@ -949,6 +954,7 @@ parse_required_versions(struct > requirement_parse_results *results, > > results->found_gl = false; > results->found_glsl = false; > + results->found_size = false; > > if (line == NULL) { > printf("could not read file \"%s\"\n", script_name); > @@ -993,6 +999,9 @@ parse_required_versions(struct > requirement_parse_results *results, > results->found_gl = true; > version_copy(&results->gl_version, > &version); > } > + } else if (string_match("SIZE", line)) { > + results->found_size = true; > + get_uints(line+4, results->size, 2); > } > } > > @@ -1018,7 +1027,7 @@ parse_required_versions(struct > requirement_parse_results *results, > > static void > choose_required_gl_version(struct requirement_parse_results > *parse_results, > - struct component_version *gl_version) > + struct component_version *gl_version) > Spurious whitespace change here. With that fixed, this patch is: Reviewed-by: Paul Berry <stereotype...@gmail.com> > { > if (parse_results->found_gl) { > version_copy(gl_version, &parse_results->gl_version); > @@ -1053,15 +1062,20 @@ choose_required_gl_version(struct > requirement_parse_results *parse_results, > * the GL and GLSL version requirements. Use these to guide context > creation. > */ > void > -get_required_versions(const char *script_name, > - struct piglit_gl_test_config *config) > +get_required_config(const char *script_name, > + struct piglit_gl_test_config *config) > { > struct requirement_parse_results parse_results; > struct component_version required_gl_version; > > - parse_required_versions(&parse_results, script_name); > + parse_required_config(&parse_results, script_name); > choose_required_gl_version(&parse_results, &required_gl_version); > > + if (parse_results.found_size) { > + config->window_width = parse_results.size[0]; > + config->window_height = parse_results.size[1]; > + } > + > if (required_gl_version.es) { > config->supports_gl_es_version = required_gl_version.num; > } else if (required_gl_version.num >= 31) { > -- > 1.7.10.4 > >
_______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit