# HG changeset patch # User Sam Lantinga # Date 1258781108 0 # Node ID 383c2058d973d47e9b0441022894e3f6ebafa113 # Parent a288892cd24c650232ec0db5e4c2788faa0fe0e1 pixels don't need to be dynamically allocated Added a dump_screen() function to assist with test failure diagnosis diff -r a288892cd24c -r 383c2058d973 test/automated/render/render.c --- a/test/automated/render/render.c Sat Nov 21 05:05:19 2009 +0000 +++ b/test/automated/render/render.c Sat Nov 21 05:25:08 2009 +0000 @@ -58,14 +58,9 @@ (void) msg; (void) s; int ret; - void *pix; + Uint8 pix[4*80*60]; SDL_Surface *testsur; - /* Allocate pixel space. */ - pix = malloc( 4*80*60 ); - if (SDL_ATassert( "malloc", pix!=NULL )) - return 1; - /* Read pixels. */ ret = SDL_RenderReadPixels( NULL, FORMAT, pix, 80*4 ); if (SDL_ATassert( "SDL_RenderReadPixels", ret==0) ) @@ -84,11 +79,41 @@ /* Clean up. */ SDL_FreeSurface( testsur ); - free(pix); return 0; } +#if 0 +static int dump_screen( int index ) +{ + int ret; + char name[1024]; + Uint8 pix[4*80*60]; + SDL_Surface *testsur; + SDL_RendererInfo info; + + /* Read pixels. */ + ret = SDL_RenderReadPixels( NULL, FORMAT, pix, 80*4 ); + if (SDL_ATassert( "SDL_RenderReadPixels", ret==0) ) + return 1; + + /* Create surface. */ + testsur = SDL_CreateRGBSurfaceFrom( pix, 80, 60, 32, 80*4, + RMASK, GMASK, BMASK, AMASK); + if (SDL_ATassert( "SDL_CreateRGBSurfaceFrom", testsur!=NULL )) + return 1; + + /* Dump surface. */ + SDL_GetRendererInfo(&info); + sprintf(name, "%s-%s-%d.bmp", SDL_GetCurrentVideoDriver(), info.name, index); + SDL_SaveBMP(testsur, name); + + /* Clean up. */ + SDL_FreeSurface( testsur ); + + return 0; +} +#endif /** * @brief Checks to see if functionality is supported.