[Piglit] [PATCH] arb_internalformat_query2: don't test TEXTURE_BUFFER against GetTexParameter

Marek Olšák maraeo at gmail.com
Tue Oct 24 09:55:03 UTC 2017


Reviewed-by: Marek Olšák <marek.olsak at amd.com>

Marek

On Tue, Oct 24, 2017 at 11:25 AM, Alejandro Piñeiro
<apinheiro at igalia.com> wrote:
> ---
>
> Alternative fix to "arb_internalformat_query2: fix TBO testing
> (v3)". As mentioned on a different email, testing with target
> TEXTURE_BUFFER is correct, and we need to get the unsupported answer.
>
> This patch prevents to do the sanity check against GetTexParameteriv,
> because as Marek and Ilia pointed, it is not a valid enum for that
> one.
>
>
> .../image-format-compatibility-type.c              | 29 +++++++++++++++++++---
>  1 file changed, 25 insertions(+), 4 deletions(-)
>
> diff --git a/tests/spec/arb_internalformat_query2/image-format-compatibility-type.c b/tests/spec/arb_internalformat_query2/image-format-compatibility-type.c
> index 28bf2926a..081fb78d5 100644
> --- a/tests/spec/arb_internalformat_query2/image-format-compatibility-type.c
> +++ b/tests/spec/arb_internalformat_query2/image-format-compatibility-type.c
> @@ -38,6 +38,24 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
>
>  PIGLIT_GL_TEST_CONFIG_END
>
> +/*
> + * On this test we use GetTexParameteriv to check the correct
> + * value. We can't use texture_targets because TEXTURE_BUFFER is not a
> + * valid enum for GetTexParameteriv
> + */
> +static const GLenum get_tex_parameter_targets[] = {
> +        GL_TEXTURE_1D,
> +        GL_TEXTURE_1D_ARRAY,
> +        GL_TEXTURE_2D,
> +        GL_TEXTURE_2D_ARRAY,
> +        GL_TEXTURE_3D,
> +        GL_TEXTURE_CUBE_MAP,
> +        GL_TEXTURE_CUBE_MAP_ARRAY,
> +        GL_TEXTURE_RECTANGLE,
> +        GL_TEXTURE_2D_MULTISAMPLE,
> +        GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
> +};
> +
>  enum piglit_result
>  piglit_display(void)
>  {
> @@ -98,7 +116,7 @@ try_local(const GLenum *targets, unsigned num_targets,
>                          bool error_test;
>                          bool value_test;
>                          bool supported;
> -                        bool is_texture;
> +                        bool is_valid_target;
>
>                          supported = check_query2_dependencies(pname, targets[i])
>                                  && test_data_check_supported(data, targets[i],
> @@ -109,16 +127,19 @@ try_local(const GLenum *targets, unsigned num_targets,
>                          error_test =
>                                  piglit_check_gl_error(GL_NO_ERROR);
>
> -                        is_texture = value_on_set((const GLint*)texture_targets, ARRAY_SIZE(texture_targets),
> -                                                  (GLint) targets[i]);
> +                        is_valid_target = value_on_set((const GLint*)get_tex_parameter_targets,
> +                                                       ARRAY_SIZE(get_tex_parameter_targets),
> +                                                       (GLint) targets[i]);
>
> -                        if (is_texture && supported) {
> +                        if (is_valid_target && supported) {
>                                  param = get_tex_parameter_value(targets[i], internalformats[j]);
>                                  error_test = error_test &&
>                                          piglit_check_gl_error(GL_NO_ERROR);
>
>                                  value_test = test_data_value_at_index(data, 0) == param;
>                          } else {
> +                                if (targets[i] == GL_TEXTURE_BUFFER)
> +                                        fprintf(stderr, "setting unsupported\n");
>                                  value_test = test_data_is_unsupported_response(data, pname);
>                          }
>
> --
> 2.11.0
>


More information about the Piglit mailing list