[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