[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