diff options
| -rw-r--r-- | generated_tests/templates/gen_vs_in_fp64/columns.shader_test.mako | 41 | ||||
| -rw-r--r-- | generated_tests/templates/gen_vs_in_fp64/regular.shader_test.mako | 43 |
2 files changed, 49 insertions, 35 deletions
diff --git a/generated_tests/templates/gen_vs_in_fp64/columns.shader_test.mako b/generated_tests/templates/gen_vs_in_fp64/columns.shader_test.mako index 2dfb723ad..f094a0315 100644 --- a/generated_tests/templates/gen_vs_in_fp64/columns.shader_test.mako +++ b/generated_tests/templates/gen_vs_in_fp64/columns.shader_test.mako @@ -48,7 +48,9 @@ GLSL >= ${glsl} #extension GL_ARB_vertex_attrib_64bit : require % endif -uniform ${mat.name} expected; +% for vidx in range(4): + uniform ${mat.name} expected${vidx}; +% endfor in ${mat.name} value; in vec3 piglit_vertex; @@ -59,15 +61,18 @@ out vec4 fs_color; void main() { - gl_Position = vec4(piglit_vertex, 1.0); - % for idx, column in enumerate(columns): - % if column == 1: - if (value[${idx}] != expected[${idx}]) { - fs_color = RED; - return; - } - ## XXX: should we break here? - % endif + gl_Position = vec4(piglit_vertex.x, piglit_vertex.y, 0.0, 1.0); + % for vidx, vertex in enumerate(['-1.0', '0.0', '1.0', '2.0']): + if (piglit_vertex.z == ${vertex}) { + % for idx, column in enumerate(columns): + % if column == 1: + if (value[${idx}] != expected${vidx}[${idx}]) { + fs_color = RED; + return; + } + % endif + % endfor + } % endfor fs_color = GREEN; } @@ -90,11 +95,11 @@ piglit_vertex/float/vec3\ % endfor % for d in range(len(dvalues)): - % for vertex in ('-1.0 -1.0 0.0', ' 1.0 -1.0 0.0', ' 1.0 1.0 0.0', '-1.0 1.0 0.0'): + % for vidx, vertex in enumerate(['-1.0 -1.0 -1.0', ' 1.0 -1.0 0.0', ' 1.0 1.0 1.0', '-1.0 1.0 2.0']): ${vertex} \ % for i in range(mat.columns): % for j in range(mat.rows): -${dvalues[(d + i * mat.rows + j) % len(dvalues)]} \ +${dvalues[(d + i * mat.rows + j + vidx) % len(dvalues)]} \ % endfor \ % endfor @@ -105,13 +110,15 @@ ${dvalues[(d + i * mat.rows + j) % len(dvalues)]} \ [test] % for d in range(len(dvalues)): - uniform ${mat.name} expected\ - % for i in range(mat.columns): - % for j in range(mat.rows): - ${dvalues[(d + i * mat.rows + j) % len(dvalues)]}\ + % for vidx in range(4): + uniform ${mat.name} expected${vidx}\ + % for i in range(mat.columns): + % for j in range(mat.rows): + ${dvalues[(d + i * mat.rows + j + vidx) % len(dvalues)]}\ + % endfor % endfor - % endfor + % endfor clear color 0.0 0.0 1.0 0.0 clear draw arrays GL_TRIANGLE_FAN ${d * 4} 4 diff --git a/generated_tests/templates/gen_vs_in_fp64/regular.shader_test.mako b/generated_tests/templates/gen_vs_in_fp64/regular.shader_test.mako index b6fab62c1..5620cbe33 100644 --- a/generated_tests/templates/gen_vs_in_fp64/regular.shader_test.mako +++ b/generated_tests/templates/gen_vs_in_fp64/regular.shader_test.mako @@ -50,7 +50,9 @@ GL_MAX_VERTEX_ATTRIBS >= ${num_vs_in} % endif % for idx, in_type in enumerate(in_types): - uniform ${in_type.name} expected${idx}${'[{}]'.format(arrays[idx]) if arrays[idx] - 1 else ''}; + % for vidx in range(4): + uniform ${in_type.name} expected${idx}${vidx}${'[{}]'.format(arrays[idx]) if arrays[idx] - 1 else ''}; + % endfor % endfor % for idx, in_type in enumerate(in_types): in ${in_type.name} value${idx}${'[{}]'.format(arrays[idx]) if arrays[idx] - 1 else ''}; @@ -63,13 +65,16 @@ out vec4 fs_color; void main() { - gl_Position = vec4(piglit_vertex, 1.0); - % for idx, in_type in enumerate(in_types): - if (value${idx} != expected${idx}) { - fs_color = RED; - return; - } - ## XXX: should this have a break? + gl_Position = vec4(piglit_vertex.x, piglit_vertex.y, 0.0, 1.0); + % for vidx, vertex in enumerate(['-1.0', '0.0', '1.0', '2.0']): + if (piglit_vertex.z == ${vertex}) { + % for idx, in_type in enumerate(in_types): + if (value${idx} != expected${idx}${vidx}) { + fs_color = RED; + return; + } + % endfor + } % endfor fs_color = GREEN; } @@ -101,7 +106,7 @@ void main() % endif % for d in range(len(gl_types_values['double'])): - % for vertex in ('-1.0 -1.0 0.0', ' 1.0 -1.0 0.0', ' 1.0 1.0 0.0', '-1.0 1.0 0.0'): + % for vidx, vertex in enumerate(['-1.0 -1.0 -1.0', ' 1.0 -1.0 0.0', ' 1.0 1.0 1.0', '-1.0 1.0 2.0']): % for idx, in_type in enumerate(in_types): % if idx == position_order - 1: ${vertex} \ @@ -109,7 +114,7 @@ void main() % for i in range(arrays[idx]): % for j in range(in_type.columns): % for k in range(in_type.rows): - ${gl_types_values[gl_types[idx]][(d + (i * in_type.columns + j) * in_type.rows + k) % len(gl_types_values[gl_types[idx]])]} \ + ${gl_types_values[gl_types[idx]][(d + (i * in_type.columns + j) * in_type.rows + k + vidx) % len(gl_types_values[gl_types[idx]])]} \ % endfor \ % endfor @@ -125,16 +130,18 @@ void main() [test] % for d in range(len(gl_types_values['double'])): - % for idx, in_type in enumerate(in_types): - % for i in range(arrays[idx]): - uniform ${in_type.name} expected${idx}${'[{}]'.format(i) if arrays[idx] > 1 else ''}\ - % for j in range(in_type.columns): - % for k in range(in_type.rows): - ## Careful: these are the values for the VBO type, not the uniform type. If we use the hex format they should match or the run will fail. - ${gl_types_values[gl_types[idx]][(d + (i * in_type.columns + j) * in_type.rows + k) % len(gl_types_values[gl_types[idx]])]}\ + % for vidx in range(4): + % for idx, in_type in enumerate(in_types): + % for i in range(arrays[idx]): + uniform ${in_type.name} expected${idx}${vidx}${'[{}]'.format(i) if arrays[idx] > 1 else ''}\ + % for j in range(in_type.columns): + % for k in range(in_type.rows): + ## Careful: these are the values for the VBO type, not the uniform type. If we use the hex format they should match or the run will fail. + ${gl_types_values[gl_types[idx]][(d + (i * in_type.columns + j) * in_type.rows + k + vidx) % len(gl_types_values[gl_types[idx]])]}\ + % endfor % endfor - % endfor + % endfor % endfor % endfor clear color 0.0 0.0 1.0 0.0 |
