This isn't explicitly disallowed in the ARB_ubo spec or the GLSL 1.40 spec, but is very clear in the 1.50 spec. I believe this is a clarification, not a change.
Signed-off-by: Chris Forbes <chr...@ijw.co.nz> --- .../spec/arb_uniform_buffer_object/layout-std140.c | 26 +++++++++++++--------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/tests/spec/arb_uniform_buffer_object/layout-std140.c b/tests/spec/arb_uniform_buffer_object/layout-std140.c index 1a385c7..93b4453 100644 --- a/tests/spec/arb_uniform_buffer_object/layout-std140.c +++ b/tests/spec/arb_uniform_buffer_object/layout-std140.c @@ -94,24 +94,28 @@ static const char frag_shader_text[] = "#version 130\n" "#extension GL_ARB_uniform_buffer_object : enable \n" "\n" + "struct f_struct {\n" + " int d;\n" + " bvec2 e;\n" + "};\n" + "\n" + "struct o_struct {\n" + " uvec3 j;\n" + " vec2 k;\n" + " float l[2];\n" + " vec2 m;\n" + " mat3 n[2];\n" + "};\n" + "\n" "layout(std140) uniform test_ubo { \n" " float a;\n" " vec2 b;\n" " vec3 c;\n" - " struct {\n" - " int d;\n" - " bvec2 e;\n" - " } f;\n" + " f_struct f;\n" " float g;\n" " float h[2];\n" " mat2x3 i;\n" - " struct {\n" - " uvec3 j;\n" - " vec2 k;\n" - " float l[2];\n" - " vec2 m;\n" - " mat3 n[2];\n" - " } o[2];\n" + " o_struct o[2];\n" "};\n" "\n" "struct S1 {\n" -- 2.0.0 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit