Mercurial > sdl-ios-xcode
diff test/automated/common/common.c @ 3456:6b182cbe38ac
Allow some variation in the pixel values to account for blending accuracy differences.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 19 Nov 2009 05:06:01 +0000 |
parents | 5271ce790fed |
children | ab99313951cd |
line wrap: on
line diff
--- a/test/automated/common/common.c Thu Nov 19 04:59:19 2009 +0000 +++ b/test/automated/common/common.c Thu Nov 19 05:06:01 2009 +0000 @@ -47,22 +47,24 @@ case 4: { - int fail; + int dist = 0; Uint8 R, G, B, A; SDL_GetRGBA(*(Uint32*)p, sur->format, &R, &G, &B, &A); if (img->bytes_per_pixel == 3) { - fail = !( (R == pd[0]) && - (G == pd[1]) && - (B == pd[2]) ); + dist += (R-pd[0])*(R-pd[0]); + dist += (G-pd[1])*(G-pd[1]); + dist += (B-pd[2])*(B-pd[2]); } else { - fail = !( (R == pd[0]) && - (G == pd[1]) && - (B == pd[2]) && - (A == pd[3]) ); + dist += (R-pd[0])*(R-pd[0]); + dist += (G-pd[1])*(G-pd[1]); + dist += (B-pd[2])*(B-pd[2]); + dist += (A-pd[3])*(A-pd[3]); } - if (fail) { + /* Allow up to sqrt(32) difference in blending accuracy */ + if (dist > 32) { + /*printf("pixel %d,%d varies by %d\n", i, j, dist);*/ ++ret; } }