[Piglit] [PATCH 1/2] arb_copy_image-formats: exit loops upon pixel mismatch

Anuj Phogat anuj.phogat at gmail.com
Thu Sep 24 17:21:32 PDT 2015


On Mon, Sep 14, 2015 at 6:48 PM, Brian Paul <brianp at vmware.com> wrote:
>
> Instead of printing potentially a thousand error messages when
> there's a failure.
>
> Also, some minor code reformatting.
>
> v2: remove passrate code too, per Anuj.
> ---
>  tests/spec/arb_copy_image/formats.c | 17 ++++++++---------
>  1 file changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/tests/spec/arb_copy_image/formats.c b/tests/spec/arb_copy_image/formats.c
> index 787194b..0ccbf77 100644
> --- a/tests/spec/arb_copy_image/formats.c
> +++ b/tests/spec/arb_copy_image/formats.c
> @@ -715,7 +715,6 @@ check_texture(GLuint texture, unsigned level,
>         int i, j, k;
>         bool pass = true;
>         unsigned char *tex_data;
> -       float passrate;
>
>         tex_data = malloc(TEX_SIZE * TEX_SIZE * format->bytes);
>
> @@ -728,14 +727,11 @@ check_texture(GLuint texture, unsigned level,
>                               format->data_type, tex_data);
>         }
>
> -       passrate = 0;
>         for (j = 0; j < TEX_SIZE; ++j) {
>                 for (i = 0; i < TEX_SIZE; ++i) {
>                         if (memcmp(tex_data + ((j * TEX_SIZE) + i) * format->bytes,
>                                    data + ((j * TEX_SIZE) + i) * format->bytes,
> -                                  format->bytes) == 0) {
> -                               passrate += 1;
> -                       } else {
> +                                  format->bytes) != 0) {
>                                 fprintf(stdout, "texel mismatch at (%d, %d); expected 0x",
>                                         i, j);
>                                 for (k = format->bytes - 1; k >= 0; --k)
> @@ -747,11 +743,10 @@ check_texture(GLuint texture, unsigned level,
>                                 fprintf(stdout, ".\n");
>
>                                 pass = false;
> +                               i = j = TEX_SIZE; /* exit loops upon error */
>                         }
>                 }
>         }
> -       passrate /= TEX_SIZE * TEX_SIZE;
> -       printf("%0.1f%% of pixels match\n", passrate * 100);
>
>         free(tex_data);
>
> @@ -803,7 +798,9 @@ run_test(struct texture_format *src_format, struct texture_format *dst_format)
>         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
>         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
>         pass &= piglit_check_gl_error(GL_NO_ERROR);
> -       if (!pass) goto cleanup;
> +       if (!pass)
> +               goto cleanup;
> +
>         warn |= !check_texture(texture[0], src_level, src_format, src_data);
>
>         dst_width = TEX_SIZE * dst_format->block_width;
> @@ -839,7 +836,9 @@ run_test(struct texture_format *src_format, struct texture_format *dst_format)
>         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
>         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
>         pass &= piglit_check_gl_error(GL_NO_ERROR);
> -       if (!pass) goto cleanup;
> +       if (!pass)
> +               goto cleanup;
> +
>         warn |= !check_texture(texture[1], dst_level, dst_format, dst_data);
>
>         glCopyImageSubData(texture[0], GL_TEXTURE_2D, src_level,
> --
> 1.9.1
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit

Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>


More information about the Piglit mailing list