Mesa currently doesn't handle void functions and segfaults on almost all of the test cases.
This also references the bug 85252 Segfault in compiler while processing ternary operator with void arguments: This will be fixed with the following commit sent to mesa-dev: [PATCH] glsl: fix Bug 85252 - Segfault in compiler while processing ternary operator with void arguments Signed-off-by: Renaud Gaubert <[email protected]> CC: Gabriel Laskar <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85252 --- .../glsl-1.10/compiler/void/void-array_subscript.vert | 15 +++++++++++++++ tests/spec/glsl-1.10/compiler/void/void-assignment.vert | 15 +++++++++++++++ tests/spec/glsl-1.10/compiler/void/void-equal.vert | 16 ++++++++++++++++ .../glsl-1.10/compiler/void/void-field_selection.vert | 15 +++++++++++++++ tests/spec/glsl-1.10/compiler/void/void-logical_and.vert | 15 +++++++++++++++ tests/spec/glsl-1.10/compiler/void/void-logical_or.vert | 15 +++++++++++++++ tests/spec/glsl-1.10/compiler/void/void-logical_xor.vert | 15 +++++++++++++++ tests/spec/glsl-1.10/compiler/void/void-lt.vert | 16 ++++++++++++++++ tests/spec/glsl-1.10/compiler/void/void-plus.vert | 15 +++++++++++++++ tests/spec/glsl-1.10/compiler/void/void-plus_assign.vert | 16 ++++++++++++++++ .../glsl-1.10/compiler/void/void-postfix_increment.vert | 15 +++++++++++++++ .../glsl-1.10/compiler/void/void-prefix_increment.vert | 15 +++++++++++++++ tests/spec/glsl-1.10/compiler/void/void-unary_plus.vert | 15 +++++++++++++++ tests/spec/glsl-1.30/compiler/void/void-and_assign.vert | 16 ++++++++++++++++ tests/spec/glsl-1.30/compiler/void/void-bitwise_and.vert | 15 +++++++++++++++ tests/spec/glsl-1.30/compiler/void/void-lshift.vert | 15 +++++++++++++++ tests/spec/glsl-1.30/compiler/void/void-mod.vert | 15 +++++++++++++++ tests/spec/glsl-1.30/compiler/void/void-mod_assign.vert | 16 ++++++++++++++++ tests/spec/glsl-1.30/compiler/void/void-rshift.vert | 15 +++++++++++++++ .../spec/glsl-1.30/compiler/void/void-shift_assign.vert | 16 ++++++++++++++++ tests/spec/glsl-1.30/compiler/void/void-unary_not.vert | 15 +++++++++++++++ tests/spec/glsl-1.30/compiler/void/void-unary_tilde.vert | 15 +++++++++++++++ 22 files changed, 336 insertions(+) create mode 100644 tests/spec/glsl-1.10/compiler/void/void-array_subscript.vert create mode 100644 tests/spec/glsl-1.10/compiler/void/void-assignment.vert create mode 100644 tests/spec/glsl-1.10/compiler/void/void-equal.vert create mode 100644 tests/spec/glsl-1.10/compiler/void/void-field_selection.vert create mode 100644 tests/spec/glsl-1.10/compiler/void/void-logical_and.vert create mode 100644 tests/spec/glsl-1.10/compiler/void/void-logical_or.vert create mode 100644 tests/spec/glsl-1.10/compiler/void/void-logical_xor.vert create mode 100644 tests/spec/glsl-1.10/compiler/void/void-lt.vert create mode 100644 tests/spec/glsl-1.10/compiler/void/void-plus.vert create mode 100644 tests/spec/glsl-1.10/compiler/void/void-plus_assign.vert create mode 100644 tests/spec/glsl-1.10/compiler/void/void-postfix_increment.vert create mode 100644 tests/spec/glsl-1.10/compiler/void/void-prefix_increment.vert create mode 100644 tests/spec/glsl-1.10/compiler/void/void-unary_plus.vert create mode 100644 tests/spec/glsl-1.30/compiler/void/void-and_assign.vert create mode 100644 tests/spec/glsl-1.30/compiler/void/void-bitwise_and.vert create mode 100644 tests/spec/glsl-1.30/compiler/void/void-lshift.vert create mode 100644 tests/spec/glsl-1.30/compiler/void/void-mod.vert create mode 100644 tests/spec/glsl-1.30/compiler/void/void-mod_assign.vert create mode 100644 tests/spec/glsl-1.30/compiler/void/void-rshift.vert create mode 100644 tests/spec/glsl-1.30/compiler/void/void-shift_assign.vert create mode 100644 tests/spec/glsl-1.30/compiler/void/void-unary_not.vert create mode 100644 tests/spec/glsl-1.30/compiler/void/void-unary_tilde.vert diff --git a/tests/spec/glsl-1.10/compiler/void/void-array_subscript.vert b/tests/spec/glsl-1.10/compiler/void/void-array_subscript.vert new file mode 100644 index 0000000..0cf3de6 --- /dev/null +++ b/tests/spec/glsl-1.10/compiler/void/void-array_subscript.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.10 + * [end config] + */ + +#version 110 + +void f(void) +{} + +void main() +{ + f()[0]; +} diff --git a/tests/spec/glsl-1.10/compiler/void/void-assignment.vert b/tests/spec/glsl-1.10/compiler/void/void-assignment.vert new file mode 100644 index 0000000..da889bd --- /dev/null +++ b/tests/spec/glsl-1.10/compiler/void/void-assignment.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.10 + * [end config] + */ + +#version 110 + +void f(void) +{} + +void main() +{ + float y = f(); +} diff --git a/tests/spec/glsl-1.10/compiler/void/void-equal.vert b/tests/spec/glsl-1.10/compiler/void/void-equal.vert new file mode 100644 index 0000000..a107600 --- /dev/null +++ b/tests/spec/glsl-1.10/compiler/void/void-equal.vert @@ -0,0 +1,16 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.10 + * [end config] + */ + +#version 110 + +void f(void) +{} + +void main() +{ + if (f() == f()) + f(); +} diff --git a/tests/spec/glsl-1.10/compiler/void/void-field_selection.vert b/tests/spec/glsl-1.10/compiler/void/void-field_selection.vert new file mode 100644 index 0000000..2165d7c --- /dev/null +++ b/tests/spec/glsl-1.10/compiler/void/void-field_selection.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.10 + * [end config] + */ + +#version 110 + +void f(void) +{} + +void main() +{ + f().test; +} diff --git a/tests/spec/glsl-1.10/compiler/void/void-logical_and.vert b/tests/spec/glsl-1.10/compiler/void/void-logical_and.vert new file mode 100644 index 0000000..fe7bfb1 --- /dev/null +++ b/tests/spec/glsl-1.10/compiler/void/void-logical_and.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.10 + * [end config] + */ + +#version 110 + +void f(void) +{} + +void main() +{ + f() && f(); +} diff --git a/tests/spec/glsl-1.10/compiler/void/void-logical_or.vert b/tests/spec/glsl-1.10/compiler/void/void-logical_or.vert new file mode 100644 index 0000000..260e58c --- /dev/null +++ b/tests/spec/glsl-1.10/compiler/void/void-logical_or.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.10 + * [end config] + */ + +#version 110 + +void f(void) +{} + +void main() +{ + f() || 1; +} diff --git a/tests/spec/glsl-1.10/compiler/void/void-logical_xor.vert b/tests/spec/glsl-1.10/compiler/void/void-logical_xor.vert new file mode 100644 index 0000000..1935909 --- /dev/null +++ b/tests/spec/glsl-1.10/compiler/void/void-logical_xor.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.10 + * [end config] + */ + +#version 110 + +void f(void) +{} + +void main() +{ + f() ^^ 1; +} diff --git a/tests/spec/glsl-1.10/compiler/void/void-lt.vert b/tests/spec/glsl-1.10/compiler/void/void-lt.vert new file mode 100644 index 0000000..aca4c72 --- /dev/null +++ b/tests/spec/glsl-1.10/compiler/void/void-lt.vert @@ -0,0 +1,16 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.10 + * [end config] + */ + +#version 110 + +void f(void) +{} + +void main() +{ + if (f() < f()) + f(); +} diff --git a/tests/spec/glsl-1.10/compiler/void/void-plus.vert b/tests/spec/glsl-1.10/compiler/void/void-plus.vert new file mode 100644 index 0000000..a5c6466 --- /dev/null +++ b/tests/spec/glsl-1.10/compiler/void/void-plus.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.10 + * [end config] + */ + +#version 110 + +void f(void) +{} + +void main() +{ + f() + f(); +} diff --git a/tests/spec/glsl-1.10/compiler/void/void-plus_assign.vert b/tests/spec/glsl-1.10/compiler/void/void-plus_assign.vert new file mode 100644 index 0000000..4e59b27 --- /dev/null +++ b/tests/spec/glsl-1.10/compiler/void/void-plus_assign.vert @@ -0,0 +1,16 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.10 + * [end config] + */ + +#version 110 + +void f(void) +{} + +void main() +{ + float y = 1.0; + y *= f(); +} diff --git a/tests/spec/glsl-1.10/compiler/void/void-postfix_increment.vert b/tests/spec/glsl-1.10/compiler/void/void-postfix_increment.vert new file mode 100644 index 0000000..153d534 --- /dev/null +++ b/tests/spec/glsl-1.10/compiler/void/void-postfix_increment.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.10 + * [end config] + */ + +#version 110 + +void f(void) +{} + +void main() +{ + f()++; +} diff --git a/tests/spec/glsl-1.10/compiler/void/void-prefix_increment.vert b/tests/spec/glsl-1.10/compiler/void/void-prefix_increment.vert new file mode 100644 index 0000000..6aa9332 --- /dev/null +++ b/tests/spec/glsl-1.10/compiler/void/void-prefix_increment.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.10 + * [end config] + */ + +#version 110 + +void f(void) +{} + +void main() +{ + ++f(); +} diff --git a/tests/spec/glsl-1.10/compiler/void/void-unary_plus.vert b/tests/spec/glsl-1.10/compiler/void/void-unary_plus.vert new file mode 100644 index 0000000..7bea0b1 --- /dev/null +++ b/tests/spec/glsl-1.10/compiler/void/void-unary_plus.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.10 + * [end config] + */ + +#version 110 + +void f(void) +{} + +void main() +{ + +f(); +} diff --git a/tests/spec/glsl-1.30/compiler/void/void-and_assign.vert b/tests/spec/glsl-1.30/compiler/void/void-and_assign.vert new file mode 100644 index 0000000..027ae1d --- /dev/null +++ b/tests/spec/glsl-1.30/compiler/void/void-and_assign.vert @@ -0,0 +1,16 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.30 + * [end config] + */ + +#version 130 + +void f(void) +{} + +void main() +{ + int y = 1; + y &= f(); +} diff --git a/tests/spec/glsl-1.30/compiler/void/void-bitwise_and.vert b/tests/spec/glsl-1.30/compiler/void/void-bitwise_and.vert new file mode 100644 index 0000000..6bd3635 --- /dev/null +++ b/tests/spec/glsl-1.30/compiler/void/void-bitwise_and.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.30 + * [end config] + */ + +#version 130 + +void f(void) +{} + +void main() +{ + f() & 1; +} diff --git a/tests/spec/glsl-1.30/compiler/void/void-lshift.vert b/tests/spec/glsl-1.30/compiler/void/void-lshift.vert new file mode 100644 index 0000000..f50ac1f --- /dev/null +++ b/tests/spec/glsl-1.30/compiler/void/void-lshift.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.30 + * [end config] + */ + +#version 130 + +void f(void) +{} + +void main() +{ + f() << f(); +} diff --git a/tests/spec/glsl-1.30/compiler/void/void-mod.vert b/tests/spec/glsl-1.30/compiler/void/void-mod.vert new file mode 100644 index 0000000..6e26a71 --- /dev/null +++ b/tests/spec/glsl-1.30/compiler/void/void-mod.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.30 + * [end config] + */ + +#version 130 + +void f(void) +{} + +void main() +{ + f() % f(); +} diff --git a/tests/spec/glsl-1.30/compiler/void/void-mod_assign.vert b/tests/spec/glsl-1.30/compiler/void/void-mod_assign.vert new file mode 100644 index 0000000..df7618a --- /dev/null +++ b/tests/spec/glsl-1.30/compiler/void/void-mod_assign.vert @@ -0,0 +1,16 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.30 + * [end config] + */ + +#version 130 + +void f(void) +{} + +void main() +{ + int y = 1; + y %= f(); +} diff --git a/tests/spec/glsl-1.30/compiler/void/void-rshift.vert b/tests/spec/glsl-1.30/compiler/void/void-rshift.vert new file mode 100644 index 0000000..8410cb5 --- /dev/null +++ b/tests/spec/glsl-1.30/compiler/void/void-rshift.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.30 + * [end config] + */ + +#version 130 + +void f(void) +{} + +void main() +{ + f() >> f(); +} diff --git a/tests/spec/glsl-1.30/compiler/void/void-shift_assign.vert b/tests/spec/glsl-1.30/compiler/void/void-shift_assign.vert new file mode 100644 index 0000000..c44fd51 --- /dev/null +++ b/tests/spec/glsl-1.30/compiler/void/void-shift_assign.vert @@ -0,0 +1,16 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.30 + * [end config] + */ + +#version 130 + +void f(void) +{} + +void main() +{ + int y = 1; + y <<= f(); +} diff --git a/tests/spec/glsl-1.30/compiler/void/void-unary_not.vert b/tests/spec/glsl-1.30/compiler/void/void-unary_not.vert new file mode 100644 index 0000000..45a8ebb --- /dev/null +++ b/tests/spec/glsl-1.30/compiler/void/void-unary_not.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.30 + * [end config] + */ + +#version 130 + +void f(void) +{} + +void main() +{ + !f(); +} diff --git a/tests/spec/glsl-1.30/compiler/void/void-unary_tilde.vert b/tests/spec/glsl-1.30/compiler/void/void-unary_tilde.vert new file mode 100644 index 0000000..05f4e24 --- /dev/null +++ b/tests/spec/glsl-1.30/compiler/void/void-unary_tilde.vert @@ -0,0 +1,15 @@ +/*[config] + * expect_result: fail + * glsl_version: 1.30 + * [end config] + */ + +#version 130 + +void f(void) +{} + +void main() +{ + ~f(); +} -- 2.4.5 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
