[Piglit] [PATCH V2] arb_vertex_type_10f_11f_11f_rev: remove GL3isms from tests

Chris Forbes chrisf at ijw.co.nz
Fri Mar 21 02:55:38 PDT 2014


While the extension does technically require GL3, it's only
really required for the new error language added to
VertexAttribIPointer.

V2: Bind attrib locations before linking as required.

Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
---
 .../arb_vertex_type_10f_11f_11f_rev/api-errors.c   |  8 +++++---
 .../draw-vertices.c                                | 23 ++++++++++++----------
 2 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/tests/spec/arb_vertex_type_10f_11f_11f_rev/api-errors.c b/tests/spec/arb_vertex_type_10f_11f_11f_rev/api-errors.c
index 4dd1d79..843f8d5 100644
--- a/tests/spec/arb_vertex_type_10f_11f_11f_rev/api-errors.c
+++ b/tests/spec/arb_vertex_type_10f_11f_11f_rev/api-errors.c
@@ -30,7 +30,7 @@
 #include "piglit-util-gl-common.h"
 
 PIGLIT_GL_TEST_CONFIG_BEGIN
-	config.supports_gl_compat_version = 30;
+	config.supports_gl_compat_version = 20;
 	config.window_visual = PIGLIT_GL_VISUAL_RGB | PIGLIT_GL_VISUAL_DOUBLE;
 PIGLIT_GL_TEST_CONFIG_END
 
@@ -147,8 +147,10 @@ test_vertex_attribs()
 	 * VertexAttribLPointer, ... if <type> is UNSIGNED_INT_10F_11F_11F_REV.
 	 */
 
-	glVertexAttribIPointer(0, 3, GL_UNSIGNED_INT_10F_11F_11F_REV, 0, (GLvoid *)0);
-	TEST("VertexAttribIPointer-not-allowed", GL_INVALID_ENUM);
+	if (piglit_get_gl_version() >= 30) {
+		glVertexAttribIPointer(0, 3, GL_UNSIGNED_INT_10F_11F_11F_REV, 0, (GLvoid *)0);
+		TEST("VertexAttribIPointer-not-allowed", GL_INVALID_ENUM);
+	}
 
 	if (piglit_is_extension_supported("GL_ARB_vertex_attrib_64bit")) {
 		glVertexAttribLPointer(0, 3, GL_UNSIGNED_INT_10F_11F_11F_REV, 0, (GLvoid *)0);
diff --git a/tests/spec/arb_vertex_type_10f_11f_11f_rev/draw-vertices.c b/tests/spec/arb_vertex_type_10f_11f_11f_rev/draw-vertices.c
index 9eb894d..f94b0c3 100644
--- a/tests/spec/arb_vertex_type_10f_11f_11f_rev/draw-vertices.c
+++ b/tests/spec/arb_vertex_type_10f_11f_11f_rev/draw-vertices.c
@@ -32,7 +32,7 @@
 #include "r11g11b10f.h"
 
 PIGLIT_GL_TEST_CONFIG_BEGIN
-	config.supports_gl_compat_version = 30;
+	config.supports_gl_compat_version = 20;
 	config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;
 	config.window_width = 128;
 	config.window_height = 128;
@@ -93,7 +93,6 @@ piglit_init(int argc, char **argv)
 	for (n = 0; n < 16; n++)
 		colors[n] = float3_to_r11g11b10f(unpacked_colors[n/4]);
 
-	piglit_require_extension("GL_ARB_explicit_attrib_location");
 	piglit_require_extension("GL_ARB_vertex_type_10f_11f_11f_rev");
 
 	glGenBuffers(1, &bo_pos);
@@ -110,20 +109,24 @@ piglit_init(int argc, char **argv)
 	glVertexAttribPointer(1, 3, GL_UNSIGNED_INT_10F_11F_11F_REV, GL_FALSE, 0, (GLvoid const *)0);
 	glEnableVertexAttribArray(1);
 
-	prog = piglit_build_simple_program(
-		"#version 130\n"
-		"#extension GL_ARB_explicit_attrib_location: require\n"
-		"layout(location=0) in vec2 p;\n"
-		"layout(location=1) in vec3 c;\n"
-		"out vec3 color;\n"
+	prog = piglit_build_simple_program_unlinked(
+		"attribute vec2 p;\n"
+		"attribute vec3 c;\n"
+		"varying vec3 color;\n"
 		"void main() { gl_Position = vec4(p, 0, 1); color = c; }\n",
 
-		"#version 130\n"
-		"in vec3 color;\n"
+		"varying vec3 color;\n"
 		"void main() { gl_FragColor = vec4(color,1); }\n"
 		);
 	if (!prog)
 		piglit_report_result(PIGLIT_FAIL);
+
+	glBindAttribLocation(prog, 0, "p");
+	glBindAttribLocation(prog, 1, "c");
+	glLinkProgram(prog);
+	if (!piglit_link_check_status(prog))
+		piglit_report_result(PIGLIT_FAIL);
+
 	glUseProgram(prog);
 }
 
-- 
1.9.1



More information about the Piglit mailing list