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

Lionel Landwerlin lionel.g.landwerlin at intel.com
Wed Feb 13 12:35:14 UTC 2019


On 13/02/2019 08:28, Tapani Pälli wrote:
> 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>


Looks good, thanks!


Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin 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);




More information about the Piglit mailing list