This test fails with current Mesa HEAD (6264348), see bug https://bugs.freedesktop.org/show_bug.cgi?id=84225.
Signed-off-by: Tapani Pälli <tapani.pa...@intel.com> --- .../struct-sampler-array-index.frag | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 tests/spec/glsl-es-1.00/compiler/structure-and-array-operations/struct-sampler-array-index.frag diff --git a/tests/spec/glsl-es-1.00/compiler/structure-and-array-operations/struct-sampler-array-index.frag b/tests/spec/glsl-es-1.00/compiler/structure-and-array-operations/struct-sampler-array-index.frag new file mode 100644 index 0000000..122a8a4 --- /dev/null +++ b/tests/spec/glsl-es-1.00/compiler/structure-and-array-operations/struct-sampler-array-index.frag @@ -0,0 +1,42 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.00 + * [end config] + * + * From "Appendix A" of the GLSL ES 1.00 spec: + * + * "GLSL ES 1.00 supports both arrays of samplers and arrays of + * structures which contain samplers. In both these cases, for + * ES 2.0, support for indexing with a constant-index-expression + * is mandated" + * + * For additional complexity this test has array of structures + * that has array of samplers. + * + */ +#version 100 + +struct s_t +{ + sampler2D array[1]; + sampler2D foo; +}; + +uniform s_t array[1]; + +void main() +{ + highp vec4 color; + + // case 1, sampler in array of structs + for (int i = 0; i < 2; i++) { + color += texture2D(array[i].foo, vec2(0.0)); + } + + // case 2, index sampler array in array of structs + for (int i = 0; i < 2; i++) { + color += texture2D(array[i].array[i], vec2(0.0)); + } + + gl_FragColor = color; +} -- 2.1.0 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit