First post, by gulikoza
- Rank
- Oldbie
Hi,
I have developed several patches for OpenGlide, improving performance and platform independence. I have tried to keep MSVC compatibility and added support for MinGW and x86_64 linux targets. The patches are mostly separate, but will also apply without conflicts.
1. openglide-ac: general configure improvements (including proper SDL detection, SDL will be used if it's detected; --disable-sdl can be used to compile native version) and architecture independent data types.
This patch also makes openglide compile with MinGW, although the resulting DLL will not work (libtool bug?); def file has been added to support MSVC style name mangling on win32.
2. openglide-fscall: handle fastcall properly and some other minor issues fixed.
3. openglide-mmx: improve MMX Support. Fallback to C functions on platforms where MMX is not available, will now also compile on x86_64 hosts (thanks `Moe` 😉)
4. openglide-lfb: LFB rewrite. Use a textured quad instead of glRead/WritePixels to improve performance. LFB reads are also improved by reading textures in RGB32 and converting to 565 on the CPU (for some reason works much faster then reading 565 directly). There's still some room for improvement by adding a mmx version of Convert8888to565 😀
With the above patches, OpenGlide should (in theory 😜) compile on any target that is supported by SDL. There are still some endianess issues to be considered with some opengl functions, but that can be fixed with a simple #define...