[Piglit] [PATCH 1/2] texture_integer: test BGRA upload

Brian Paul brianp at vmware.com
Mon Dec 5 07:00:07 PST 2011


On 12/04/2011 01:04 PM, Dave Airlie wrote:
> From: Dave Airlie<airlied at redhat.com>
>
> This just adds a test using the GL_BGRA_INTEGER_EXT
>
> Signed-off-by: Dave Airlie<airlied at redhat.com>
> ---
>   .../ext_texture_integer/texture-integer-glsl130.c  |   18 ++++++++++++++++++
>   1 files changed, 18 insertions(+), 0 deletions(-)
>
> diff --git a/tests/spec/ext_texture_integer/texture-integer-glsl130.c b/tests/spec/ext_texture_integer/texture-integer-glsl130.c
> index 5c2168b..eaaa525 100644
> --- a/tests/spec/ext_texture_integer/texture-integer-glsl130.c
> +++ b/tests/spec/ext_texture_integer/texture-integer-glsl130.c
> @@ -57,6 +57,13 @@ static const struct format_info Formats[] = {
>   	{ "GL_RGBA32I_EXT",  GL_RGBA32I_EXT,  GL_RGBA_INTEGER_EXT, 32, GL_TRUE  },
>   	{ "GL_RGBA32UI_EXT", GL_RGBA32UI_EXT, GL_RGBA_INTEGER_EXT, 32, GL_FALSE },
>
> +	{ "GL_RGBA8I_EXT (bgra)",   GL_RGBA8I_EXT,   GL_BGRA_INTEGER_EXT, 8,  GL_TRUE  },
> +	{ "GL_RGBA8UI_EXT (bgra)",  GL_RGBA8UI_EXT , GL_BGRA_INTEGER_EXT, 8,  GL_FALSE },
> +	{ "GL_RGBA16I_EXT (bgra)",  GL_RGBA16I_EXT,  GL_BGRA_INTEGER_EXT, 16, GL_TRUE  },
> +	{ "GL_RGBA16UI_EXT (bgra)", GL_RGBA16UI_EXT, GL_BGRA_INTEGER_EXT, 16, GL_FALSE },
> +	{ "GL_RGBA32I_EXT (bgra)",  GL_RGBA32I_EXT,  GL_BGRA_INTEGER_EXT, 32, GL_TRUE  },
> +	{ "GL_RGBA32UI_EXT (bgra)", GL_RGBA32UI_EXT, GL_BGRA_INTEGER_EXT, 32, GL_FALSE },
> +
>   	{ "GL_RGB8I_EXT",   GL_RGB8I_EXT,   GL_RGB_INTEGER_EXT, 8,  GL_TRUE  },
>   	{ "GL_RGB8UI_EXT",  GL_RGB8UI_EXT , GL_RGB_INTEGER_EXT, 8,  GL_FALSE },
>   	{ "GL_RGB16I_EXT",  GL_RGB16I_EXT,  GL_RGB_INTEGER_EXT, 16, GL_TRUE  },
> @@ -161,6 +168,7 @@ num_components(GLenum format)
>   	switch (format) {
>   	case GL_RGBA:
>   	case GL_RGBA_INTEGER_EXT:
> +	case GL_BGRA_INTEGER_EXT:
>   		return 4;
>   	case GL_RGB_INTEGER_EXT:
>   		return 3;
> @@ -269,6 +277,7 @@ test_format(const struct format_info *info)
>   	int value[4];
>   	GLfloat result[4], bias[4];
>   	GLint f;
> +	GLfloat temp;
>
>   	/* pick random texture color */
>   	value[0] = rand() % max;
> @@ -303,6 +312,15 @@ test_format(const struct format_info *info)
>   	case GL_RGBA_INTEGER_EXT:
>   		/* nothing */
>   		break;
> +	case GL_BGRA_INTEGER_EXT:
> +		/* swap 0 and 2 */
> +		temp = expected[2];
> +		expected[2] = expected[0];
> +		expected[0] = temp;
> +		temp = value[2];
> +		value[2] = value[0];
> +		value[0] = temp;
> +		break;
>   	case GL_RGB_INTEGER_EXT:
>   		expected[3] = 0.0;
>   		break;


Reviewed-by: Brian Paul <brianp at vmware.com>


More information about the Piglit mailing list