SDL now!

 Hosted By
Functions Overview
Functions Manual
Project home
SDL home


(C) Guido Draheim





SDL_stretch  -  Stretch Functions For SDL


While hacking on UAE (the unix amiga emulator) I did develop a few stretching routines. I have been asking on the SDL mailing list for any prior art but it seems that no one did wrap such routines into a library part that can be reused everywhere. Other projects are just game SDKs which tend to wrap such routines it into their own framework - instead of using vanilla SDL surface. Also, there are only rare pieces of assembler optimized routines. I took some of these as hints and created my own set of highly optimized routines pumped up with assembler - stretch-and-blit routines for SDL on steroids.

In version 0.3.0 the assembly code generation for i386 was extended to support also x86_64 (amd64) with native code. However the support did require a little incompatibility as all 64bit unices are set on a non-executeable data (and heap) segment such that an allocation with memalign/mprotect must be used now.
Additionally the traditional code generation does also know about an interpreted mode for platforms that are not yet support by native machine code definitions. That should make build servers happy although it's not an optimal solution - it can not be as quite as fast as on-demand machine code.
Last not least, there is a new example program that is derived from the SDL parallax-2 demo ( The SOFTSTRETCH-ifdefs will guide you how to make your SDL window resizeable with the help of SDL_stretch. That demo program might also help with porting the software to other CPU types.