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

Reply via email to