When I am trying to create a surface with width more that 640 pixels, my program crashes. The height, however, does not crash my app even at 1024 pixels. The screen resolution is 640x480 pixels. Is there a limitation on how wide a surface could be? What can I do if I need to create, let's say, 800x600 surface?