[Piglit] [PATCH] EGL_EXT_image_dma_buf_import: test alpha channel for AYUV format

Tapani Pälli tapani.palli at intel.com
Wed Feb 13 08:28:27 UTC 2019


Patches changes expected result to have a alpha ramp in case format
supports alpha, each alpha supporting format should make sure data
matches this expectation.

Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
---
 .../ext_image_dma_buf_import/sample_yuv.c     | 60 ++++++++++++-------
 1 file changed, 39 insertions(+), 21 deletions(-)

diff --git a/tests/spec/ext_image_dma_buf_import/sample_yuv.c b/tests/spec/ext_image_dma_buf_import/sample_yuv.c
index 78a0f25f3..8205a9ffc 100644
--- a/tests/spec/ext_image_dma_buf_import/sample_yuv.c
+++ b/tests/spec/ext_image_dma_buf_import/sample_yuv.c
@@ -42,6 +42,17 @@ PIGLIT_GL_TEST_CONFIG_END
 
 static int fourcc = -1;
 
+static bool
+format_has_alpha(int fourcc)
+{
+	switch (fourcc) {
+	case DRM_FORMAT_AYUV:
+		return true;
+	default:
+		return false;
+	}
+}
+
 enum piglit_result
 piglit_display(void)
 {
@@ -90,29 +101,29 @@ piglit_display(void)
 		120, 140,
 		120, 140,
 	}, ayuv[] = {
-		/* AYUV (TODO: find a way to test alpha channel) */
-		130, 120,  50, 255,
-		130, 127,  70, 255,
-		130, 133,  90, 255,
-		130, 140, 110, 255,
-
-		140, 120,  50, 255,
-		140, 127,  70, 255,
-		140, 133,  90, 255,
-		140, 140, 110, 255,
-
-		150, 120,  50, 255,
-		150, 127,  70, 255,
-		150, 133,  90, 255,
-		150, 140, 110, 255,
-
-		160, 120,  50, 255,
-		160, 127,  70, 255,
-		160, 133,  90, 255,
-		160, 140, 110, 255,
+		/* Increasing alpha ramp. */
+		130, 120,  50, 0,
+		130, 127,  70, 64,
+		130, 133,  90, 128,
+		130, 140, 110, 192,
+
+		140, 120,  50, 0,
+		140, 127,  70, 64,
+		140, 133,  90, 128,
+		140, 140, 110, 192,
+
+		150, 120,  50, 0,
+		150, 127,  70, 64,
+		150, 133,  90, 128,
+		150, 140, 110, 192,
+
+		160, 120,  50, 0,
+		160, 127,  70, 64,
+		160, 133,  90, 128,
+		160, 140, 110, 192,
 	};
 
-	static const unsigned char expected[4 * 4 * 4] = {
+	static unsigned char expected[4 * 4 * 4] = {
 		 44,  41,  25, 255,
 		 67,  64,  48, 255,
 		 90,  79, 111, 255,
@@ -157,6 +168,13 @@ piglit_display(void)
 		return PIGLIT_SKIP;
 	}
 
+	/* Modify alpha values of the expected result. */
+	if (format_has_alpha(fourcc)) {
+		unsigned char *p = expected;
+		for (uint32_t i = 0; i < 4 * 4; i++, p += 4)
+			p[3] = i * (256 / 4);
+	}
+
 	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
 	res = dma_buf_create_and_sample_32bpp(4, 4, fourcc, t);
-- 
2.20.1



More information about the Piglit mailing list