Mercurial > sdl-ios-xcode
diff test/automated/common/common.c @ 3441:5271ce790fed
Debug info to help track down render test failures
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 17 Nov 2009 06:51:14 +0000 |
parents | 0acec8c9f5c9 |
children | 6b182cbe38ac |
line wrap: on
line diff
--- a/test/automated/common/common.c Tue Nov 17 06:50:29 2009 +0000 +++ b/test/automated/common/common.c Tue Nov 17 06:51:14 2009 +0000 @@ -73,5 +73,37 @@ SDL_UnlockSurface( sur ); + if (ret) { + SDL_SaveBMP(sur, "fail.bmp"); + + SDL_LockSurface( sur ); + + bpp = sur->format->BytesPerPixel; + + /* Compare image - should be same format. */ + if (bpp == 4) { + for (j=0; j<sur->h; j++) { + for (i=0; i<sur->w; i++) { + p = (Uint8 *)sur->pixels + j * sur->pitch + i * bpp; + pd = (Uint8 *)img->pixel_data + (j*img->width + i) * img->bytes_per_pixel; + Uint8 R, G, B, A; + + R = pd[0]; + G = pd[1]; + B = pd[2]; + if (img->bytes_per_pixel == 4) { + A = pd[3]; + } else { + A = 0; + } + *(Uint32*)p = (A << 24) | (R << 16) | (G << 8) | B; + } + } + } + + SDL_UnlockSurface( sur ); + + SDL_SaveBMP(sur, "good.bmp"); + } return ret; }