[Piglit] [PATCH 1/2] Use global function piglit_linear_to_srgb() to avoid code duplication

Anuj Phogat anuj.phogat at gmail.com
Mon Aug 26 12:06:19 PDT 2013


---
 tests/general/framebuffer-srgb.c                   | 20 ++------------------
 tests/spec/arb_framebuffer_srgb/srgb_conformance.c | 18 ++----------------
 2 files changed, 4 insertions(+), 34 deletions(-)

diff --git a/tests/general/framebuffer-srgb.c b/tests/general/framebuffer-srgb.c
index a1f5c9c..a140dda 100644
--- a/tests/general/framebuffer-srgb.c
+++ b/tests/general/framebuffer-srgb.c
@@ -125,22 +125,6 @@ framebuffer_srgb_api_ext(void)
 	return pass;
 }
 
-static GLfloat
-linear_to_nonlinear(GLfloat cl)
-{
-   /* can't have values outside [0, 1] */
-   GLfloat cs;
-
-   if (cl < 0.0031308f) {
-      cs = 12.92f * cl;
-   }
-   else {
-      cs = (GLfloat)(1.055 * pow(cl, 0.41666) - 0.055);
-   }
-   
-   return cs;
-}
-
 /**
  * Common code for framebuffer and FBO tests.
  */
@@ -202,7 +186,7 @@ test_srgb(void)
 	 */
 	memcpy(expected_green, green, sizeof(float) * 4);
 	if (srgb_capable)
-		expected_green[1] = linear_to_nonlinear(green[1]);
+		expected_green[1] = piglit_linear_to_srgb(green[1]);
 	if (!piglit_probe_rect_rgb(20, 0, 20, 20, expected_green))
 		pass = GL_FALSE;
 	/* check it doesn't affect the pixel path */
@@ -216,7 +200,7 @@ test_srgb(void)
 	 */
 	memcpy(expected_blend, green, sizeof(float) * 4);
 	if (srgb_capable)
-		expected_blend[1] = linear_to_nonlinear(green[1] * 2.0);
+		expected_blend[1] = piglit_linear_to_srgb(green[1] * 2.0);
 	else
 		expected_blend[1] = green[1] * 2.0;
 	if (!piglit_probe_rect_rgb(40, 0, 20, 20, expected_blend))
diff --git a/tests/spec/arb_framebuffer_srgb/srgb_conformance.c b/tests/spec/arb_framebuffer_srgb/srgb_conformance.c
index 0736693..508239d 100644
--- a/tests/spec/arb_framebuffer_srgb/srgb_conformance.c
+++ b/tests/spec/arb_framebuffer_srgb/srgb_conformance.c
@@ -53,20 +53,6 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 
 PIGLIT_GL_TEST_CONFIG_END
 
-
-static GLfloat
-linear_to_nonlinear(float x)
-{
-	if (x >= 1.0f)
-		return 255.0f;
-	else if (x >= 0.0031308f)
-		return 255.0f * (1.055f * powf(x, 0.41666666f) - 0.055f);
-	else if (x > 0.0f)
-		return 255.0f * (12.92f * x);
-	else
-		return 0.0f;
-}
-
 static enum piglit_result test_format(void)
 {
 	GLboolean pass = GL_TRUE;
@@ -144,10 +130,10 @@ static enum piglit_result test_format(void)
 	glReadPixels(0, 0, 16, 16, GL_RGBA, GL_FLOAT, &readf[0][0]);
 
 	for (i = 0; i < 256; i++) {
-		float err = fabs(linear_to_nonlinear(readf[i][0]) - (float)i);
+		float err = fabs(piglit_linear_to_srgb(readf[i][0]) - (float)i);
 		if (0)
 			printf("readback: %f observed: %f expected: %f\n", readf[i][0],
-				linear_to_nonlinear(readf[i][0]), (float)i);
+				piglit_linear_to_srgb(readf[i][0]), (float)i);
 		if (err > maxErr) {
 			maxErr = err;
 		}
-- 
1.8.1.4



More information about the Piglit mailing list