Commit 508336f8 authored by Sam Lantinga's avatar Sam Lantinga

Debug info to help track down render test failures

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404182
parent a3226cf7
...@@ -73,5 +73,37 @@ int surface_compare( SDL_Surface *sur, const SurfaceImage_t *img ) ...@@ -73,5 +73,37 @@ int surface_compare( SDL_Surface *sur, const SurfaceImage_t *img )
SDL_UnlockSurface( sur ); 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; return ret;
} }
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
# define COMMON_H # define COMMON_H
# define FORMAT SDL_PIXELFORMAT_ARGB8888 # define FORMAT SDL_PIXELFORMAT_ARGB8888
# define AMASK 0xff000000 /**< Alpha bit mask. */ # define AMASK 0xff000000 /**< Alpha bit mask. */
# define RMASK 0x00ff0000 /**< Red bit mask. */ # define RMASK 0x00ff0000 /**< Red bit mask. */
# define GMASK 0x0000ff00 /**< Green bit mask. */ # define GMASK 0x0000ff00 /**< Green bit mask. */
......
...@@ -67,6 +67,7 @@ static int render_compare( const char *msg, const SurfaceImage_t *s ) ...@@ -67,6 +67,7 @@ static int render_compare( const char *msg, const SurfaceImage_t *s )
return 1; return 1;
/* Read pixels. */ /* Read pixels. */
SDL_RenderPresent();
ret = SDL_RenderReadPixels( NULL, FORMAT, pix, 80*4 ); ret = SDL_RenderReadPixels( NULL, FORMAT, pix, 80*4 );
if (SDL_ATassert( "SDL_RenderReadPixels", ret==0) ) if (SDL_ATassert( "SDL_RenderReadPixels", ret==0) )
return 1; return 1;
...@@ -1012,7 +1013,7 @@ int test_render (void) ...@@ -1012,7 +1013,7 @@ int test_render (void)
goto err; goto err;
/* Create window. */ /* Create window. */
wid = SDL_CreateWindow( msg, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, wid = SDL_CreateWindow( msg, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
80, 60, 0 ); 80, 60, SDL_WINDOW_SHOWN );
if (SDL_ATassert( "SDL_CreateWindow", wid!=0 )) if (SDL_ATassert( "SDL_CreateWindow", wid!=0 ))
goto err; goto err;
/* Check title. */ /* Check title. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment