<div dir="ltr">On 11 October 2013 10:38, Jordan Justen <span dir="ltr"><<a href="mailto:jordan.l.justen@intel.com" target="_blank">jordan.l.justen@intel.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">If a test requires a certain size, it adds 'SIZE Width Height' to<br>
the requirements section. Width and Height must be unsigned<br>
integers.<br>
<br>
Signed-off-by: Jordan Justen <<a href="mailto:jordan.l.justen@intel.com">jordan.l.justen@intel.com</a>><br>
---<br>
 tests/shaders/shader_runner.c |   40 +++++++++++++++++++++++++++-------------<br>
 1 file changed, 27 insertions(+), 13 deletions(-)<br>
<br>
diff --git a/tests/shaders/shader_runner.c b/tests/shaders/shader_runner.c<br>
index fbc1964..2667aed 100644<br>
--- a/tests/shaders/shader_runner.c<br>
+++ b/tests/shaders/shader_runner.c<br>
@@ -38,22 +38,25 @@<br>
 #include "parser_utils.h"<br>
<br>
 static void<br>
-get_required_versions(const char *script_name,<br>
-                     struct piglit_gl_test_config *config);<br>
+get_required_config(const char *script_name,<br>
+                   struct piglit_gl_test_config *config);<br>
 GLenum<br>
 decode_drawing_mode(const char *mode_str);<br>
<br>
-PIGLIT_GL_TEST_CONFIG_BEGIN<br>
+void<br>
+get_uints(const char *line, unsigned *uints, unsigned count);<br>
<br>
-       if (argc > 1)<br>
-               get_required_versions(argv[1], &config);<br>
-       else<br>
-               config.supports_gl_compat_version = 10;<br>
+PIGLIT_GL_TEST_CONFIG_BEGIN<br>
<br>
        config.window_width = 250;<br>
        config.window_height = 250;<br></blockquote><div><br></div><div>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.<br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
        config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;<br>
<br>
+       if (argc > 1)<br>
+               get_required_config(argv[1], &config);<br>
+       else<br>
+               config.supports_gl_compat_version = 10;<br>
+<br>
 PIGLIT_GL_TEST_CONFIG_END<br>
<br>
 const char passthrough_vertex_shader_source[] =<br>
@@ -934,13 +937,15 @@ process_test_script(const char *script_name)<br>
 struct requirement_parse_results {<br>
        bool found_gl;<br>
        bool found_glsl;<br>
+       bool found_size;<br>
        struct component_version gl_version;<br>
        struct component_version glsl_version;<br>
+       unsigned size[2];<br>
 };<br>
<br>
 static void<br>
-parse_required_versions(struct requirement_parse_results *results,<br>
-                        const char *script_name)<br>
+parse_required_config(struct requirement_parse_results *results,<br>
+                     const char *script_name)<br>
 {<br>
        unsigned text_size;<br>
        char *text = piglit_load_text_file(script_name, &text_size);<br>
@@ -949,6 +954,7 @@ parse_required_versions(struct requirement_parse_results *results,<br>
<br>
        results->found_gl = false;<br>
        results->found_glsl = false;<br>
+       results->found_size = false;<br>
<br>
        if (line == NULL) {<br>
                printf("could not read file \"%s\"\n", script_name);<br>
@@ -993,6 +999,9 @@ parse_required_versions(struct requirement_parse_results *results,<br>
                                        results->found_gl = true;<br>
                                        version_copy(&results->gl_version, &version);<br>
                                }<br>
+                       } else if (string_match("SIZE", line)) {<br>
+                               results->found_size = true;<br>
+                               get_uints(line+4, results->size, 2);<br>
                        }<br>
                }<br>
<br>
@@ -1018,7 +1027,7 @@ parse_required_versions(struct requirement_parse_results *results,<br>
<br>
 static void<br>
 choose_required_gl_version(struct requirement_parse_results *parse_results,<br>
-                           struct component_version *gl_version)<br>
+                          struct component_version *gl_version)<br></blockquote><div><br></div><div>Spurious whitespace change here.<br><br>With that fixed, this patch is:<br><br>Reviewed-by: Paul Berry <<a href="mailto:stereotype441@gmail.com">stereotype441@gmail.com</a>><br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 {<br>
        if (parse_results->found_gl) {<br>
                version_copy(gl_version, &parse_results->gl_version);<br>
@@ -1053,15 +1062,20 @@ choose_required_gl_version(struct requirement_parse_results *parse_results,<br>
  * the GL and GLSL version requirements.  Use these to guide context creation.<br>
  */<br>
 void<br>
-get_required_versions(const char *script_name,<br>
-                     struct piglit_gl_test_config *config)<br>
+get_required_config(const char *script_name,<br>
+                   struct piglit_gl_test_config *config)<br>
 {<br>
        struct requirement_parse_results parse_results;<br>
        struct component_version required_gl_version;<br>
<br>
-       parse_required_versions(&parse_results, script_name);<br>
+       parse_required_config(&parse_results, script_name);<br>
        choose_required_gl_version(&parse_results, &required_gl_version);<br>
<br>
+       if (parse_results.found_size) {<br>
+               config->window_width = parse_results.size[0];<br>
+               config->window_height = parse_results.size[1];<br>
+       }<br>
+<br>
        if (<a href="http://required_gl_version.es" target="_blank">required_gl_version.es</a>) {<br>
                config->supports_gl_es_version = required_gl_version.num;<br>
        } else if (required_gl_version.num >= 31) {<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.7.10.4<br>
<br>
</font></span></blockquote></div><br></div></div>