From: Ian Romanick <[email protected]> These are similar to the first tests except the uniform is initialized in one stage (vertex or fragment) but used in the other stage (vice-versa).
Signed-off-by: Ian Romanick <[email protected]> --- generated_tests/CMakeLists.txt | 2 + generated_tests/gen_uniform_initializer_tests.py | 1 + .../fs-initializer-set-by-other-stage.template | 38 ++++++++++++++++++ .../vs-initializer-set-by-other-stage.template | 42 ++++++++++++++++++++ 4 files changed, 83 insertions(+), 0 deletions(-) create mode 100644 generated_tests/uniform-initializer-templates/fs-initializer-set-by-other-stage.template create mode 100644 generated_tests/uniform-initializer-templates/vs-initializer-set-by-other-stage.template diff --git a/generated_tests/CMakeLists.txt b/generated_tests/CMakeLists.txt index 33be413..f9e07a1 100644 --- a/generated_tests/CMakeLists.txt +++ b/generated_tests/CMakeLists.txt @@ -40,6 +40,8 @@ piglit_make_generated_tests( uniform-initializer-templates/vs-initializer.template uniform-initializer-templates/fs-initializer-from-const.template uniform-initializer-templates/vs-initializer-from-const.template + uniform-initializer-templates/fs-initializer-set-by-other-stage.template + uniform-initializer-templates/vs-initializer-set-by-other-stage.template ) # Add a "gen-tests" target that can be used to generate all the diff --git a/generated_tests/gen_uniform_initializer_tests.py b/generated_tests/gen_uniform_initializer_tests.py index 81f41bd..d9fedd2 100644 --- a/generated_tests/gen_uniform_initializer_tests.py +++ b/generated_tests/gen_uniform_initializer_tests.py @@ -170,6 +170,7 @@ random_numbers = (0.78685, 0.89828, 0.36590, 0.92504, 0.48998, 0.27989, all_templates = ("", "-from-const", + "-set-by-other-stage", ) bool_types = [("bool", 1), ("bvec2", 2), ("bvec3", 3), ("bvec4", 4)] diff --git a/generated_tests/uniform-initializer-templates/fs-initializer-set-by-other-stage.template b/generated_tests/uniform-initializer-templates/fs-initializer-set-by-other-stage.template new file mode 100644 index 0000000..af187e3 --- /dev/null +++ b/generated_tests/uniform-initializer-templates/fs-initializer-set-by-other-stage.template @@ -0,0 +1,38 @@ +[require] +GLSL >= ${"{}.{}".format(major, minor)} + +[vertex shader] +#version ${"{}{}".format(major, minor)} + +% for (type, name, value) in type_list: +uniform ${type} ${name} = ${value}; +% endfor + +void main() +{ + gl_Position = gl_Vertex; +} + +[fragment shader] +#version ${"{}{}".format(major, minor)} + +% for (type, name, value) in type_list: +uniform ${type} ${name}; +% endfor + +void main() +{ + if ((${type_list[0][1]} == ${type_list[0][2]}) +% for (type, name, value) in type_list[1:-1]: + && (${name} == ${value}) +% endfor + && (${type_list[-1][1]} == ${type_list[-1][2]})) { + gl_FragColor = vec4(0, 1, 0, 1); + } else { + gl_FragColor = vec4(1, 0, 0, 1); + } +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 0 1 0 diff --git a/generated_tests/uniform-initializer-templates/vs-initializer-set-by-other-stage.template b/generated_tests/uniform-initializer-templates/vs-initializer-set-by-other-stage.template new file mode 100644 index 0000000..d16069a --- /dev/null +++ b/generated_tests/uniform-initializer-templates/vs-initializer-set-by-other-stage.template @@ -0,0 +1,42 @@ +[require] +GLSL >= ${"{}.{}".format(major, minor)} + +[vertex shader] +#version ${"{}{}".format(major, minor)} +varying vec4 color; + +% for (type, name, value) in type_list: +uniform ${type} ${name}; +% endfor + +void main() +{ + if ((${type_list[0][1]} == ${type_list[0][2]}) +% for (type, name, value) in type_list[1:-1]: + && (${name} == ${value}) +% endfor + && (${type_list[-1][1]} == ${type_list[-1][2]})) { + color = vec4(0, 1, 0, 1); + } else { + color = vec4(1, 0, 0, 1); + } + + gl_Position = gl_Vertex; +} + +[fragment shader] +#version ${"{}{}".format(major, minor)} +varying vec4 color; + +% for (type, name, value) in type_list: +uniform ${type} ${name} = ${value}; +% endfor + +void main() +{ + gl_FragColor = color; +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 0 1 0 -- 1.7.6.5 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
