[Piglit] [PATCH] ext_texture_integer: add RG/R types to texture test.
Brian Paul
brianp at vmware.com
Mon Dec 5 07:08:24 PST 2011
On 12/04/2011 12:44 PM, Dave Airlie wrote:
> From: Dave Airlie<airlied at redhat.com>
>
> This just adds the RG and RED variants to the EXT_texture_integer test.
>
> Signed-off-by: Dave Airlie<airlied at redhat.com>
> ---
> .../ext_texture_integer/texture-integer-glsl130.c | 42 +++++++++++++++++++-
> 1 files changed, 40 insertions(+), 2 deletions(-)
>
> diff --git a/tests/spec/ext_texture_integer/texture-integer-glsl130.c b/tests/spec/ext_texture_integer/texture-integer-glsl130.c
> index e5fadf6..5c2168b 100644
> --- a/tests/spec/ext_texture_integer/texture-integer-glsl130.c
> +++ b/tests/spec/ext_texture_integer/texture-integer-glsl130.c
> @@ -94,6 +94,21 @@ static const struct format_info Formats[] = {
>
> };
>
> +static const struct format_info rg_formats[] = {
> + { "GL_RG8I", GL_RG8I, GL_RG_INTEGER, 8, GL_TRUE },
> + { "GL_RG8UI", GL_RG8UI , GL_RG_INTEGER, 8, GL_FALSE },
> + { "GL_RG16I", GL_RG16I, GL_RG_INTEGER, 16, GL_TRUE },
> + { "GL_RG16UI", GL_RG16UI, GL_RG_INTEGER, 16, GL_FALSE },
> + { "GL_RG32I", GL_RG32I, GL_RG_INTEGER, 32, GL_TRUE },
> + { "GL_RG32UI", GL_RG32UI, GL_RG_INTEGER, 32, GL_FALSE },
> + { "GL_R8I", GL_R8I, GL_RED_INTEGER, 8, GL_TRUE },
> + { "GL_R8UI", GL_R8UI , GL_RED_INTEGER, 8, GL_FALSE },
> + { "GL_R16I", GL_R16I, GL_RED_INTEGER, 16, GL_TRUE },
> + { "GL_R16UI", GL_R16UI, GL_RED_INTEGER, 16, GL_FALSE },
> + { "GL_R32I", GL_R32I, GL_RED_INTEGER, 32, GL_TRUE },
> + { "GL_R32UI", GL_R32UI, GL_RED_INTEGER, 32, GL_FALSE },
> +};
> +
> static const char *FragShaderText =
> "#version 130\n"
> "uniform vec4 bias; \n"
> @@ -149,6 +164,8 @@ num_components(GLenum format)
> return 4;
> case GL_RGB_INTEGER_EXT:
> return 3;
> + case GL_RG_INTEGER:
> + return 2;
> case GL_ALPHA_INTEGER_EXT:
> return 1;
> case GL_LUMINANCE_INTEGER_EXT:
> @@ -289,6 +306,9 @@ test_format(const struct format_info *info)
> case GL_RGB_INTEGER_EXT:
> expected[3] = 0.0;
> break;
> + case GL_RG_INTEGER:
> + expected[2] = expected[3] = 0.0;
> + break;
> case GL_ALPHA_INTEGER_EXT:
> expected[0] = expected[1] = expected[2] = 0.0;
> expected[3] = 0.25;
> @@ -306,8 +326,17 @@ test_format(const struct format_info *info)
> value[1] = value[2] = value[0];
> break;
> case GL_RED_INTEGER_EXT:
> - expected[0] = expected[1] = expected[2] = expected[3] = 0.25;
> - value[1] = value[2] = value[3] = value[0];
> + if (info->IntFormat == GL_INTENSITY8I_EXT ||
> + info->IntFormat == GL_INTENSITY8UI_EXT ||
> + info->IntFormat == GL_INTENSITY16I_EXT ||
> + info->IntFormat == GL_INTENSITY16UI_EXT ||
> + info->IntFormat == GL_INTENSITY32I_EXT ||
> + info->IntFormat == GL_INTENSITY32UI_EXT) {
> + expected[0] = expected[1] = expected[2] = expected[3] = 0.25;
> + value[1] = value[2] = value[3] = value[0];
> + } else {
> + expected[1] = expected[2] = expected[3] = 0.0;
> + }
> break;
> default:
> ;
> @@ -373,6 +402,15 @@ test_general_formats(void)
> return GL_FALSE;
> }
> }
> +
> + if (piglit_is_extension_supported("GL_ARB_texture_rg")) {
> + for (f = 0; f< ARRAY_SIZE(rg_formats); f++) {
> + for (i = 0; i< 5; i++) {
> + if (!test_format(&rg_formats[f]))
> + return GL_FALSE;
> + }
> + }
> + }
> return GL_TRUE;
> }
>
Reviewed-by: Brian Paul <brianp at vmware.com>
More information about the Piglit
mailing list