Allocate an empty surface (must be called after SDL_!SetVideoMode?)
If depth is 8 bits an empty palette is allocated for the surface, otherwise a 'packed-pixel' SDL_!PixelFormat? is created using the [RGBA?mask's provided (see SDL_!PixelFormat?). The flags specifies the type of surface that should be created, it is an OR'd combination of the following possible values.
SDL will create the surface in system memory. This improves the performance of pixel level access, however you may not be able to take advantage of some types of hardware blitting.
SDL will attempt to create the surface in video memory. This will allow SDL to take advantage of Video-
With this flag SDL will attempt to find the best location for this surface, either in system memory or video memory, to obtain hardware colorkey blitting support.