[Piglit] [PATCH 2/3] ubo: Don't try to use embedded struct definitions.

Chris Forbes chrisf at ijw.co.nz
Sat Jun 14 17:53:22 PDT 2014


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 <chrisf at 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



More information about the Piglit mailing list