<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>