[Piglit] [PATCH 2/3] glsl-orangebook-ch06-bump: fix regression after default window size change

Brian Paul brianp at vmware.com
Sun Nov 11 06:48:24 PST 2012


The pixel probing is very sensitive to the size of the rendering so
limit it to 100x100 regardless of window size.
---
 tests/shaders/glsl-orangebook-ch06-bump.c |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/tests/shaders/glsl-orangebook-ch06-bump.c b/tests/shaders/glsl-orangebook-ch06-bump.c
index e1f1bc7..f64815c 100644
--- a/tests/shaders/glsl-orangebook-ch06-bump.c
+++ b/tests/shaders/glsl-orangebook-ch06-bump.c
@@ -41,6 +41,11 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 
 PIGLIT_GL_TEST_CONFIG_END
 
+/* Test size - note that the pixel probing below is very specific */
+#define WIDTH 100
+#define HEIGHT 100
+
+
 static int bump_density_location, bump_size_location;
 static int specular_factor_location, surface_color_location;
 static int light_position_location, tangent_attrib;
@@ -56,14 +61,20 @@ piglit_display(void)
 	static const float test_bump_dark[3] = {0.411, 0.352, 0.105};
 	static const float test_bump_light[3] = {1.0, 0.961, 0.557};
 	float light_position[3] = {-1.0, -1.0, 2.0};
-	float w = piglit_width;
-	float h = piglit_height;
+	float w = WIDTH;
+	float h = HEIGHT;
 	float bump_x = w * 3 / 8;
 	float bump_y = h * 3 / 8;
 	float x, y;
 
+	if (piglit_width < WIDTH || piglit_height < HEIGHT) {
+		printf("window is too small.\n");
+		return PIGLIT_SKIP;
+	}
+
 	piglit_ortho_projection(1, 1, GL_FALSE);
 
+	glViewport(0, 0, WIDTH, HEIGHT);
 	glClearColor(0.5, 0.5, 0.5, 0.5);
 	glClear(GL_COLOR_BUFFER_BIT);
 
@@ -87,7 +98,7 @@ piglit_display(void)
 	 * non-specular point.
 	 */
 	pass &= piglit_probe_pixel_rgb(0, 0, test_specular);
-	pass &= piglit_probe_pixel_rgb(piglit_width - 1, piglit_height - 1,
+	pass &= piglit_probe_pixel_rgb(WIDTH - 1, HEIGHT - 1,
 				       test_nonspecular);
 
 	/* Look at a bump -- does it have a lit part and an unlit part? */
-- 
1.7.3.4



More information about the Piglit mailing list