[Piglit] [PATCH] gl-3.2-depth-tex-sampling: fix the test to expect "red" depth samples

Brian Paul brianp at vmware.com
Sun Dec 22 05:56:09 PST 2013


I missed the language in section 3.8.7 about depth texture sampling.
Thanks, Marek.
---
 tests/spec/gl-3.2/depth-tex-sampling.c |   28 +++++++++++-----------------
 1 file changed, 11 insertions(+), 17 deletions(-)

diff --git a/tests/spec/gl-3.2/depth-tex-sampling.c b/tests/spec/gl-3.2/depth-tex-sampling.c
index 7d2988c..32079c1 100644
--- a/tests/spec/gl-3.2/depth-tex-sampling.c
+++ b/tests/spec/gl-3.2/depth-tex-sampling.c
@@ -22,18 +22,12 @@
  */
 
 /*
- * In the GL 3.2 core profile, GL_DEPTH_TEXTURE_MODE is deprecated.
- * Sampling a depth texture should always return (d, d, d, 1) which
- * corresponds to the legacy GL_DEPTH_TEXTURE_MODE = GL_LUMINANCE.
+ * The section 3.8.7 (page 160) of the GL 3.2 core specification says:
  *
- * NVIDIA's driver, however, seems to return (d, 0, 0, 1).
- *
- * From the OpenGL 3.2 specification, page 332:
- *  "Depth texture mode - DEPTH_TEXTURE_MODE. Section 3.8.15 is to be
- *   changed so that r is returned to texture samplers directly, and
- *   the OpenGL Shading Language 1.30 Specification is to be changed
- *   so that (r,r,r,1) is always returned from depth texture samplers
- *   in this case."
+ * "Depth textures and the depth components of depth/stencil textures can
+ * be treated as RED textures during texture filtering and application
+ * (see section 3.8.15). The initial state for depth and depth/stencil
+ * textures treats them as RED textures."
  *
  * Brian Paul
  * 5 Dec 2013
@@ -181,14 +175,14 @@ enum piglit_result
 piglit_display(void)
 {
 	static const float black[4] = { 0.0, 0.0, 0.0, 1.0 };
-	static const float white[4] = { 1.0, 1.0, 1.0, 1.0 };
-	static const float gray[4] = { 0.5, 0.5, 0.5, 1.0 };
+	static const float red50[4] = { 0.5, 0.0, 0.0, 1.0 };
+	static const float red100[4] = { 1.0, 0.0, 0.0, 1.0 };
 	bool pass = true;
 
 	glViewport(0, 0, piglit_width, piglit_height);
 
-	/* This should draw a grayscale gradient ranging from black
-	 * at the bottom of the window to white at the top.
+	/* This should draw a red gradient ranging from black
+	 * at the bottom of the window to full red at the top.
 	 */
 	glClearColor(0.2, 0.2, 0.8, 1.0);
 	glClear(GL_COLOR_BUFFER_BIT);
@@ -197,10 +191,10 @@ piglit_display(void)
 	if (!piglit_probe_pixel_rgba(0, 0, black))
 		pass = false;
 
-	if (!piglit_probe_pixel_rgba(0, piglit_height/2, gray))
+	if (!piglit_probe_pixel_rgba(0, piglit_height/2, red50))
 		pass = false;
 
-	if (!piglit_probe_pixel_rgba(0, piglit_height-1, white))
+	if (!piglit_probe_pixel_rgba(0, piglit_height-1, red100))
 		pass = false;
 
 	piglit_present_results();
-- 
1.7.10.4



More information about the Piglit mailing list