[Piglit] [PATCH] Clean up depth-tex-modes-glsl a bit.

Kenneth Graunke kenneth at whitecape.org
Sun Sep 23 20:51:53 PDT 2012


1. It doesn't use sampler2DRect, so don't require ARB_texture_rectangle
2. Remove pointless glFinish() before piglit_present_results()
3. Use Piglit utility functions for compiling/linking shaders.
4. Print the description of what you're seeing in *non*-automatic mode.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
 tests/texturing/depth-tex-modes-glsl.c | 29 ++++-------------------------
 1 file changed, 4 insertions(+), 25 deletions(-)

I was originally considering extending this test to do EXT_texture_swizzle
rather than writing a new one.  So I started by cleaning it up a bit.

In the end I decided to write a new test anyway (already reviewed on the
list), but figured the cleanups are worthwhile anyway.

diff --git a/tests/texturing/depth-tex-modes-glsl.c b/tests/texturing/depth-tex-modes-glsl.c
index b1ecc89..24ef989 100644
--- a/tests/texturing/depth-tex-modes-glsl.c
+++ b/tests/texturing/depth-tex-modes-glsl.c
@@ -84,14 +84,13 @@ piglit_init(int argc, char **argv)
 {
 	piglit_require_gl_version(20);
 
-	if (piglit_automatic)
+	if (!piglit_automatic)
 		printf(" Left to Right: LUMINANCE, INTENSITY, ALPHA\n"
 		       "Lower row: Combined with color\n"
 		       "Upper row: combined with alpha\n");
 
 	loadTex();
 
-	piglit_require_extension("GL_ARB_texture_rectangle");
 	glMatrixMode(GL_PROJECTION);
 	glPushMatrix();
 	glLoadIdentity();
@@ -110,30 +109,11 @@ piglit_init(int argc, char **argv)
 static void
 compileLinkProg(void)
 {
-	GLint stat;
-
-	vs = glCreateShader(GL_VERTEX_SHADER);
-	fs = glCreateShader(GL_FRAGMENT_SHADER);
-	glShaderSource(vs, 1, (const GLchar **) &vertShaderText, NULL);
-	glShaderSource(fs, 1, (const GLchar **) &fragShaderText, NULL);
-	glCompileShader(vs);
-	glGetShaderiv(vs, GL_COMPILE_STATUS, &stat);
-	if (!stat) {
-		printf("error compiling vertex shader!\n");
-		exit(1);
-	}
-	glCompileShader(fs);
-	glGetShaderiv(fs, GL_COMPILE_STATUS, &stat);
-	if (!stat) {
-		printf("error compiling fragment shader!\n");
-		exit(1);
-	}
+	vs = piglit_compile_shader_text(GL_VERTEX_SHADER, vertShaderText);
+	fs = piglit_compile_shader_text(GL_FRAGMENT_SHADER, fragShaderText);
 
-	prog = glCreateProgram();
-	glAttachShader(prog, vs);
-	glAttachShader(prog, fs);
+	prog = piglit_link_simple_program(vs, fs);
 	glBindAttribLocation(prog, 1, "textureCoords");
-	glLinkProgram(prog);
 	glUseProgram(prog);
 
 	glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3*sizeof(GLfloat),
@@ -304,7 +284,6 @@ piglit_display(void)
 
 	}
 
-	glFinish();
 	piglit_present_results();
 
 	return pass ? PIGLIT_PASS : PIGLIT_FAIL;
-- 
1.7.11.4



More information about the Piglit mailing list