[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] PATCH: enable MMX for X86_64, VideoCapture



New branch: svn://seul.org/svn/pygame/branches/msvc64

Patch applied revision 2657

Lenard Lindstrom

Lenard Lindstrom wrote:
Hi,

This could be an SVN branch for now (*). I will get on to it. I should be possible to use the same template for building the 32 bit msvcr90 import library for MinGW to build on for 64 bit mscvr90. If not then the best long term solution here would be to have an masm version of scale_mmx64.c. The smoothscale code has been around for awhile and without any bug reports filed. So the code should be stable.

Lenard Linstrom

(*) For other maintainers, this would also be a test case for getting SVN merges working properly by adding the proper tags to trunk.

Christoph Gohlke wrote:
Hello,

the attached patch and source files contain a workaround for building pygame with MMX scaling support for 64-bit Windows using Visual Studio and mingw-64-bit.

When compiling scale_mmx.c without -D_NO_MMX_FOR_X86_64 using the 64-bit Visual Studio compiler the file scale_mmx64_msvc.c is included, which has all asm code replaced by function calls. The asm containing functions are implemented in scale_mmx64_gcc.c, which can be compiled independently with mingw-64-bit:

x86_64-w64-mingw32-gcc.exe -c src/scale_mmx64_gcc.c -fno-leading-underscore -o obj/win64/scale_mmx64_gcc.obj

The resulting scale_mmx64_gcc.obj is then linked during the MSVC build process.

The patch should not interfere with other compilers (not verified). It is just a workaround until mingw-64-bit has support for using the msvc9 runtime. It is probably not a good idea to apply the patch to the main trunk since it duplicates code.

The resulting 1.9.2pre binaries pass all tests, except freetype_font_test.

The patch also tries to import vidcap from the VideoCapture package.

Christoph