diff options
author | Simone Rota <sip@crux.nu> | 2006-09-21 16:24:55 +0000 |
---|---|---|
committer | Simone Rota <sip@crux.nu> | 2006-09-21 16:24:55 +0000 |
commit | ad95dee81fe5eb85aeef31ff14383f063ffec940 (patch) | |
tree | f287c43f56a277f07244caddf50587308236efd8 /libsdl | |
parent | 703d3e6ac2e7a33fe6eac1e4e1fa1cb80c193c43 (diff) | |
download | opt-ad95dee81fe5eb85aeef31ff14383f063ffec940.tar.gz opt-ad95dee81fe5eb85aeef31ff14383f063ffec940.tar.xz |
libsdl: updated to 1.2.11
Diffstat (limited to 'libsdl')
-rw-r--r-- | libsdl/.footprint | 18 | ||||
-rw-r--r-- | libsdl/.md5sum | 3 | ||||
-rw-r--r-- | libsdl/Pkgfile | 8 | ||||
-rw-r--r-- | libsdl/libsdl-1.2.9-gcc4.patch | 467 |
4 files changed, 20 insertions, 476 deletions
diff --git a/libsdl/.footprint b/libsdl/.footprint index a5f5e7f75..a3046862b 100644 --- a/libsdl/.footprint +++ b/libsdl/.footprint @@ -8,6 +8,14 @@ drwxr-xr-x root/root usr/include/SDL/ -rw-r--r-- root/root usr/include/SDL/SDL_audio.h -rw-r--r-- root/root usr/include/SDL/SDL_byteorder.h -rw-r--r-- root/root usr/include/SDL/SDL_cdrom.h +-rw-r--r-- root/root usr/include/SDL/SDL_config.h +-rw-r--r-- root/root usr/include/SDL/SDL_config_amiga.h +-rw-r--r-- root/root usr/include/SDL/SDL_config_dreamcast.h +-rw-r--r-- root/root usr/include/SDL/SDL_config_macos.h +-rw-r--r-- root/root usr/include/SDL/SDL_config_macosx.h +-rw-r--r-- root/root usr/include/SDL/SDL_config_minimal.h +-rw-r--r-- root/root usr/include/SDL/SDL_config_os2.h +-rw-r--r-- root/root usr/include/SDL/SDL_config_win32.h -rw-r--r-- root/root usr/include/SDL/SDL_copying.h -rw-r--r-- root/root usr/include/SDL/SDL_cpuinfo.h -rw-r--r-- root/root usr/include/SDL/SDL_endian.h @@ -23,8 +31,10 @@ drwxr-xr-x root/root usr/include/SDL/ -rw-r--r-- root/root usr/include/SDL/SDL_mutex.h -rw-r--r-- root/root usr/include/SDL/SDL_name.h -rw-r--r-- root/root usr/include/SDL/SDL_opengl.h +-rw-r--r-- root/root usr/include/SDL/SDL_platform.h -rw-r--r-- root/root usr/include/SDL/SDL_quit.h -rw-r--r-- root/root usr/include/SDL/SDL_rwops.h +-rw-r--r-- root/root usr/include/SDL/SDL_stdinc.h -rw-r--r-- root/root usr/include/SDL/SDL_syswm.h -rw-r--r-- root/root usr/include/SDL/SDL_thread.h -rw-r--r-- root/root usr/include/SDL/SDL_timer.h @@ -34,12 +44,14 @@ drwxr-xr-x root/root usr/include/SDL/ -rw-r--r-- root/root usr/include/SDL/begin_code.h -rw-r--r-- root/root usr/include/SDL/close_code.h drwxr-xr-x root/root usr/lib/ -lrwxrwxrwx root/root usr/lib/libSDL-1.2.so.0 -> libSDL-1.2.so.0.7.2 --rwxr-xr-x root/root usr/lib/libSDL-1.2.so.0.7.2 +lrwxrwxrwx root/root usr/lib/libSDL-1.2.so.0 -> libSDL-1.2.so.0.11.0 +-rwxr-xr-x root/root usr/lib/libSDL-1.2.so.0.11.0 -rw-r--r-- root/root usr/lib/libSDL.a -rwxr-xr-x root/root usr/lib/libSDL.la -lrwxrwxrwx root/root usr/lib/libSDL.so -> libSDL-1.2.so.0.7.2 +lrwxrwxrwx root/root usr/lib/libSDL.so -> libSDL-1.2.so.0.11.0 -rw-r--r-- root/root usr/lib/libSDLmain.a +drwxr-xr-x root/root usr/lib/pkgconfig/ +-rw-r--r-- root/root usr/lib/pkgconfig/sdl.pc drwxr-xr-x root/root usr/man/ drwxr-xr-x root/root usr/man/man3/ -rw-r--r-- root/root usr/man/man3/SDLKey.3.gz diff --git a/libsdl/.md5sum b/libsdl/.md5sum index 06316eb7a..5a10021f1 100644 --- a/libsdl/.md5sum +++ b/libsdl/.md5sum @@ -1,2 +1 @@ -80919ef556425ff82a8555ff40a579a0 SDL-1.2.9.tar.gz -ba148e589d8577925883564356a25bbc libsdl-1.2.9-gcc4.patch +418b42956b7cd103bfab1b9077ccc149 SDL-1.2.11.tar.gz diff --git a/libsdl/Pkgfile b/libsdl/Pkgfile index 841cbc9a4..16e515fb9 100644 --- a/libsdl/Pkgfile +++ b/libsdl/Pkgfile @@ -6,13 +6,13 @@ # Depends on: alsa-lib name=libsdl -version=1.2.9 -release=2 -source=(http://www.libsdl.org/release/SDL-$version.tar.gz $name-$version-gcc4.patch) +version=1.2.11 +release=1 +source=(http://www.libsdl.org/release/SDL-$version.tar.gz) build () { cd SDL-$version - patch -p1 -i $SRC/$name-$version-gcc4.patch + #patch -p1 -i $SRC/$name-$version-gcc4.patch ./configure --prefix=/usr \ --enable-alsa make diff --git a/libsdl/libsdl-1.2.9-gcc4.patch b/libsdl/libsdl-1.2.9-gcc4.patch deleted file mode 100644 index 8d1d66f31..000000000 --- a/libsdl/libsdl-1.2.9-gcc4.patch +++ /dev/null @@ -1,467 +0,0 @@ -# The origins of this patch are the following two URLs -# http://cvs.fedora.redhat.com/viewcvs/*checkout*/rpms/SDL/FC-5/SDL-1.2.9-yuv_mmx_gcc4.patch?rev=1.1 -# http://cvs.fedora.redhat.com/viewcvs/*checkout*/rpms/SDL/FC-5/SDL-1.2.8-gcc4.patch?rev=1.2 - -diff -ru SDL-1.2.9.orig/src/hermes/HeadMMX.h SDL-1.2.9/src/hermes/HeadMMX.h ---- SDL-1.2.9.orig/src/hermes/HeadMMX.h 2006-03-21 16:34:57.000000000 -0700 -+++ SDL-1.2.9/src/hermes/HeadMMX.h 2006-03-21 16:36:07.000000000 -0700 -@@ -50,21 +50,19 @@ - extern "C" { - #endif - -- void ConvertMMX(HermesConverterInterface *) __attribute__ ((alias ("_ConvertMMX"))); --#if 0 -- void ClearMMX_32(HermesClearInterface *) __attribute__ ((alias ("_ClearMMX_32"))); -- void ClearMMX_24(HermesClearInterface *) __attribute__ ((alias ("_ClearMMX_24"))); -- void ClearMMX_16(HermesClearInterface *) __attribute__ ((alias ("_ClearMMX_16"))); -- void ClearMMX_8(HermesClearInterface *) __attribute__ ((alias ("_ClearMMX_8"))); -- -- void ConvertMMXp32_16RGB555() __attribute__ ((alias ("_ConvertMMXp32_16RGB555"))); --#endif -- -- void ConvertMMXpII32_24RGB888() __attribute__ ((alias ("_ConvertMMXpII32_24RGB888"))); -- void ConvertMMXpII32_16RGB565() __attribute__ ((alias ("_ConvertMMXpII32_16RGB565"))); -- void ConvertMMXpII32_16BGR565() __attribute__ ((alias ("_ConvertMMXpII32_16BGR565"))); -- void ConvertMMXpII32_16RGB555() __attribute__ ((alias ("_ConvertMMXpII32_16RGB555"))); -- void ConvertMMXpII32_16BGR555() __attribute__ ((alias ("_ConvertMMXpII32_16BGR555"))); -+ extern void _ConvertMMX(HermesConverterInterface *); -+ extern void _ConvertMMXpII32_24RGB888(); -+ extern void _ConvertMMXpII32_16RGB565(); -+ extern void _ConvertMMXpII32_16BGR565(); -+ extern void _ConvertMMXpII32_16RGB555(); -+ extern void _ConvertMMXpII32_16BGR555(); -+ -+ #define ConvertMMX _ConvertMMX -+ #define ConvertMMXpII32_24RGB888 _ConvertMMXpII32_24RGB888 -+ #define ConvertMMXpII32_16RGB565 _ConvertMMXpII32_16RGB565 -+ #define ConvertMMXpII32_16BGR565 _ConvertMMXpII32_16BGR565 -+ #define ConvertMMXpII32_16RGB555 _ConvertMMXpII32_16RGB555 -+ #define ConvertMMXpII32_16BGR555 _ConvertMMXpII32_16BGR555 - - #ifdef __cplusplus - } -diff -ru SDL-1.2.9.orig/src/hermes/HeadX86.h SDL-1.2.9/src/hermes/HeadX86.h ---- SDL-1.2.9.orig/src/hermes/HeadX86.h 2006-03-21 16:34:57.000000000 -0700 -+++ SDL-1.2.9/src/hermes/HeadX86.h 2006-03-21 16:36:07.000000000 -0700 -@@ -79,56 +79,47 @@ - extern "C" { - #endif - -- int Hermes_X86_CPU() __attribute__ ((alias ("_Hermes_X86_CPU"))); -+ extern int _Hermes_X86_CPU(); - -- void ConvertX86(HermesConverterInterface *) __attribute__ ((alias ("_ConvertX86"))); -+ extern void _ConvertX86(HermesConverterInterface *); -+ -+ extern void _ConvertX86p32_32BGR888(); -+ extern void _ConvertX86p32_32RGBA888(); -+ extern void _ConvertX86p32_32BGRA888(); -+ extern void _ConvertX86p32_24RGB888(); -+ extern void _ConvertX86p32_24BGR888(); -+ extern void _ConvertX86p32_16RGB565(); -+ extern void _ConvertX86p32_16BGR565(); -+ extern void _ConvertX86p32_16RGB555(); -+ extern void _ConvertX86p32_16BGR555(); -+ extern void _ConvertX86p32_8RGB332(); -+ -+ extern void _ConvertX86p16_16BGR565(); -+ extern void _ConvertX86p16_16RGB555(); -+ extern void _ConvertX86p16_16BGR555(); -+ extern void _ConvertX86p16_8RGB332(); -+ -+ -+ #define Hermes_X86_CPU _Hermes_X86_CPU -+ -+ #define ConvertX86 _ConvertX86 -+ -+ #define ConvertX86p32_32BGR888 _ConvertX86p32_32BGR888 -+ #define ConvertX86p32_32RGBA888 _ConvertX86p32_32RGBA888 -+ #define ConvertX86p32_32BGRA888 _ConvertX86p32_32BGRA888 -+ #define ConvertX86p32_24RGB888 _ConvertX86p32_24RGB888 -+ #define ConvertX86p32_24BGR888 _ConvertX86p32_24BGR888 -+ #define ConvertX86p32_16RGB565 _ConvertX86p32_16RGB565 -+ #define ConvertX86p32_16BGR565 _ConvertX86p32_16BGR565 -+ #define ConvertX86p32_16RGB555 _ConvertX86p32_16RGB555 -+ #define ConvertX86p32_16BGR555 _ConvertX86p32_16BGR555 -+ #define ConvertX86p32_8RGB332 _ConvertX86p32_8RGB332 -+ -+ #define ConvertX86p16_16BGR565 _ConvertX86p16_16BGR565 -+ #define ConvertX86p16_16RGB555 _ConvertX86p16_16RGB555 -+ #define ConvertX86p16_16BGR555 _ConvertX86p16_16BGR555 -+ #define ConvertX86p16_8RGB332 _ConvertX86p16_8RGB332 - --#if 0 -- void ClearX86_32(HermesClearInterface *) __attribute__ ((alias ("_ClearX86_32"))); -- void ClearX86_24(HermesClearInterface *) __attribute__ ((alias ("_ClearX86_24"))); -- void ClearX86_16(HermesClearInterface *) __attribute__ ((alias ("_ClearX86_16"))); -- void ClearX86_8(HermesClearInterface *) __attribute__ ((alias ("_ClearX86_8"))); --#endif -- -- void ConvertX86p32_32BGR888() __attribute__ ((alias ("_ConvertX86p32_32BGR888"))); -- void ConvertX86p32_32RGBA888() __attribute__ ((alias ("_ConvertX86p32_32RGBA888"))); -- void ConvertX86p32_32BGRA888() __attribute__ ((alias ("_ConvertX86p32_32BGRA888"))); -- void ConvertX86p32_24RGB888() __attribute__ ((alias ("_ConvertX86p32_24RGB888"))); -- void ConvertX86p32_24BGR888() __attribute__ ((alias ("_ConvertX86p32_24BGR888"))); -- void ConvertX86p32_16RGB565() __attribute__ ((alias ("_ConvertX86p32_16RGB565"))); -- void ConvertX86p32_16BGR565() __attribute__ ((alias ("_ConvertX86p32_16BGR565"))); -- void ConvertX86p32_16RGB555() __attribute__ ((alias ("_ConvertX86p32_16RGB555"))); -- void ConvertX86p32_16BGR555() __attribute__ ((alias ("_ConvertX86p32_16BGR555"))); -- void ConvertX86p32_8RGB332() __attribute__ ((alias ("_ConvertX86p32_8RGB332"))); -- --#if 0 -- void ConvertX86p16_32RGB888() __attribute__ ((alias ("_ConvertX86p16_32RGB888"))); -- void ConvertX86p16_32BGR888() __attribute__ ((alias ("_ConvertX86p16_32BGR888"))); -- void ConvertX86p16_32RGBA888() __attribute__ ((alias ("_ConvertX86p16_32RGBA888"))); -- void ConvertX86p16_32BGRA888() __attribute__ ((alias ("_ConvertX86p16_32BGRA888"))); -- void ConvertX86p16_24RGB888() __attribute__ ((alias ("_ConvertX86p16_24RGB888"))); -- void ConvertX86p16_24BGR888() __attribute__ ((alias ("_ConvertX86p16_24BGR888"))); --#endif -- void ConvertX86p16_16BGR565() __attribute__ ((alias ("_ConvertX86p16_16BGR565"))); -- void ConvertX86p16_16RGB555() __attribute__ ((alias ("_ConvertX86p16_16RGB555"))); -- void ConvertX86p16_16BGR555() __attribute__ ((alias ("_ConvertX86p16_16BGR555"))); -- void ConvertX86p16_8RGB332() __attribute__ ((alias ("_ConvertX86p16_8RGB332"))); -- --#if 0 -- void CopyX86p_4byte() __attribute__ ((alias ("_CopyX86p_4byte"))); -- void CopyX86p_3byte() __attribute__ ((alias ("_CopyX86p_3byte"))); -- void CopyX86p_2byte() __attribute__ ((alias ("_CopyX86p_2byte"))); -- void CopyX86p_1byte() __attribute__ ((alias ("_CopyX86p_1byte"))); -- -- void ConvertX86pI8_32() __attribute__ ((alias ("_ConvertX86pI8_32"))); -- void ConvertX86pI8_24() __attribute__ ((alias ("_ConvertX86pI8_24"))); -- void ConvertX86pI8_16() __attribute__ ((alias ("_ConvertX86pI8_16"))); -- -- extern int ConvertX86p16_32RGB888_LUT_X86[512] __attribute__ ((alias ("_ConvertX86p16_32RGB888_LUT_X86"))); -- extern int ConvertX86p16_32BGR888_LUT_X86[512] __attribute__ ((alias ("_ConvertX86p16_32BGR888_LUT_X86"))); -- extern int ConvertX86p16_32RGBA888_LUT_X86[512] __attribute__ ((alias ("_ConvertX86p16_32RGBA888_LUT_X86"))); -- extern int ConvertX86p16_32BGRA888_LUT_X86[512] __attribute__ ((alias ("_ConvertX86p16_32BGRA888_LUT_X86"))); --#endif - - #ifdef __cplusplus - } -diff -ru SDL-1.2.9.orig/src/video/SDL_yuv_mmx.c SDL-1.2.9/src/video/SDL_yuv_mmx.c ---- SDL-1.2.9.orig/src/video/SDL_yuv_mmx.c 2006-03-21 16:34:57.000000000 -0700 -+++ SDL-1.2.9/src/video/SDL_yuv_mmx.c 2006-03-21 16:36:37.000000000 -0700 -@@ -30,42 +30,31 @@ - - #include "SDL_types.h" - --#if __GNUC__ > 2 --# undef GCC2_HACK --#else --# define GCC2_HACK --#endif -- -- --#if defined(GCC2_HACK) && defined (__ELF__) --#define ASM_VAR(X) _##X --#else --#define ASM_VAR(X) X --#endif -+#define ASM_ARRAY(x) x[] __asm__("_" #x) __attribute__((used)) - --static volatile unsigned int ASM_VAR(MMX_0080w)[] = {0x00800080, 0x00800080}; --static volatile unsigned int ASM_VAR(MMX_00FFw)[] = {0x00ff00ff, 0x00ff00ff}; --static volatile unsigned int ASM_VAR(MMX_FF00w)[] = {0xff00ff00, 0xff00ff00}; -- --static volatile unsigned short ASM_VAR(MMX_Ycoeff)[] = {0x004a, 0x004a, 0x004a, 0x004a}; -- --static volatile unsigned short ASM_VAR(MMX_UbluRGB)[] = {0x0072, 0x0072, 0x0072, 0x0072}; --static volatile unsigned short ASM_VAR(MMX_VredRGB)[] = {0x0059, 0x0059, 0x0059, 0x0059}; --static volatile unsigned short ASM_VAR(MMX_UgrnRGB)[] = {0xffea, 0xffea, 0xffea, 0xffea}; --static volatile unsigned short ASM_VAR(MMX_VgrnRGB)[] = {0xffd2, 0xffd2, 0xffd2, 0xffd2}; -- --static volatile unsigned short ASM_VAR(MMX_Ublu5x5)[] = {0x0081, 0x0081, 0x0081, 0x0081}; --static volatile unsigned short ASM_VAR(MMX_Vred5x5)[] = {0x0066, 0x0066, 0x0066, 0x0066}; --static volatile unsigned short ASM_VAR(MMX_Ugrn555)[] = {0xffe7, 0xffe7, 0xffe7, 0xffe7}; --static volatile unsigned short ASM_VAR(MMX_Vgrn555)[] = {0xffcc, 0xffcc, 0xffcc, 0xffcc}; --static volatile unsigned short ASM_VAR(MMX_Ugrn565)[] = {0xffe8, 0xffe8, 0xffe8, 0xffe8}; --static volatile unsigned short ASM_VAR(MMX_Vgrn565)[] = {0xffcd, 0xffcd, 0xffcd, 0xffcd}; -- --static volatile unsigned short ASM_VAR(MMX_red555)[] = {0x7c00, 0x7c00, 0x7c00, 0x7c00}; --static volatile unsigned short ASM_VAR(MMX_red565)[] = {0xf800, 0xf800, 0xf800, 0xf800}; --static volatile unsigned short ASM_VAR(MMX_grn555)[] = {0x03e0, 0x03e0, 0x03e0, 0x03e0}; --static volatile unsigned short ASM_VAR(MMX_grn565)[] = {0x07e0, 0x07e0, 0x07e0, 0x07e0}; --static volatile unsigned short ASM_VAR(MMX_blu5x5)[] = {0x001f, 0x001f, 0x001f, 0x001f}; -+static unsigned int ASM_ARRAY(MMX_0080w) = {0x00800080, 0x00800080}; -+static unsigned int ASM_ARRAY(MMX_00FFw) = {0x00ff00ff, 0x00ff00ff}; -+static unsigned int ASM_ARRAY(MMX_FF00w) = {0xff00ff00, 0xff00ff00}; -+ -+static unsigned short ASM_ARRAY(MMX_Ycoeff) = {0x004a, 0x004a, 0x004a, 0x004a}; -+ -+static unsigned short ASM_ARRAY(MMX_UbluRGB) = {0x0072, 0x0072, 0x0072, 0x0072}; -+static unsigned short ASM_ARRAY(MMX_VredRGB) = {0x0059, 0x0059, 0x0059, 0x0059}; -+static unsigned short ASM_ARRAY(MMX_UgrnRGB) = {0xffea, 0xffea, 0xffea, 0xffea}; -+static unsigned short ASM_ARRAY(MMX_VgrnRGB) = {0xffd2, 0xffd2, 0xffd2, 0xffd2}; -+ -+static unsigned short ASM_ARRAY(MMX_Ublu5x5) = {0x0081, 0x0081, 0x0081, 0x0081}; -+static unsigned short ASM_ARRAY(MMX_Vred5x5) = {0x0066, 0x0066, 0x0066, 0x0066}; -+static unsigned short ASM_ARRAY(MMX_Ugrn555) = {0xffe7, 0xffe7, 0xffe7, 0xffe7}; -+static unsigned short ASM_ARRAY(MMX_Vgrn555) = {0xffcc, 0xffcc, 0xffcc, 0xffcc}; -+static unsigned short ASM_ARRAY(MMX_Ugrn565) = {0xffe8, 0xffe8, 0xffe8, 0xffe8}; -+static unsigned short ASM_ARRAY(MMX_Vgrn565) = {0xffcd, 0xffcd, 0xffcd, 0xffcd}; -+ -+static unsigned short ASM_ARRAY(MMX_red555) = {0x7c00, 0x7c00, 0x7c00, 0x7c00}; -+static unsigned short ASM_ARRAY(MMX_red565) = {0xf800, 0xf800, 0xf800, 0xf800}; -+static unsigned short ASM_ARRAY(MMX_grn555) = {0x03e0, 0x03e0, 0x03e0, 0x03e0}; -+static unsigned short ASM_ARRAY(MMX_grn565) = {0x07e0, 0x07e0, 0x07e0, 0x07e0}; -+static unsigned short ASM_ARRAY(MMX_blu5x5) = {0x001f, 0x001f, 0x001f, 0x001f}; - - /** - This MMX assembler is my first assembler/MMX program ever. -@@ -127,21 +116,12 @@ - "movd (%2), %%mm2\n" // 0 0 0 0 l3 l2 l1 l0 - "punpcklbw %%mm7,%%mm1\n" // 0 v3 0 v2 00 v1 00 v0 - "punpckldq %%mm1,%%mm1\n" // 00 v1 00 v0 00 v1 00 v0 --#ifdef GCC2_HACK - "psubw _MMX_0080w,%%mm1\n" // mm1-128:r1 r1 r0 r0 r1 r1 r0 r0 --#else -- "psubw %[_MMX_0080w],%%mm1\n" // mm1-128:r1 r1 r0 r0 r1 r1 r0 r0 --#endif - - // create Cr_g (result in mm0) - "movq %%mm1,%%mm0\n" // r1 r1 r0 r0 r1 r1 r0 r0 --#ifdef GCC2_HACK - "pmullw _MMX_VgrnRGB,%%mm0\n"// red*-46dec=0.7136*64 - "pmullw _MMX_VredRGB,%%mm1\n"// red*89dec=1.4013*64 --#else -- "pmullw %[_MMX_VgrnRGB],%%mm0\n"// red*-46dec=0.7136*64 -- "pmullw %[_MMX_VredRGB],%%mm1\n"// red*89dec=1.4013*64 --#endif - "psraw $6, %%mm0\n" // red=red/64 - "psraw $6, %%mm1\n" // red=red/64 - -@@ -150,13 +130,8 @@ - "movq (%2,%4),%%mm3\n" // 0 0 0 0 L3 L2 L1 L0 - "punpckldq %%mm3,%%mm2\n" // L3 L2 L1 L0 l3 l2 l1 l0 - "movq %%mm2,%%mm4\n" // L3 L2 L1 L0 l3 l2 l1 l0 --#ifdef GCC2_HACK - "pand _MMX_FF00w,%%mm2\n" // L3 0 L1 0 l3 0 l1 0 - "pand _MMX_00FFw,%%mm4\n" // 0 L2 0 L0 0 l2 0 l0 --#else -- "pand %[_MMX_FF00w],%%mm2\n" // L3 0 L1 0 l3 0 l1 0 -- "pand %[_MMX_00FFw],%%mm4\n" // 0 L2 0 L0 0 l2 0 l0 --#endif - "psrlw $8,%%mm2\n" // 0 L3 0 L1 0 l3 0 l1 - - // create R (result in mm6) -@@ -173,20 +148,11 @@ - "movd (%1), %%mm1\n" // 0 0 0 0 u3 u2 u1 u0 - "punpcklbw %%mm7,%%mm1\n" // 0 u3 0 u2 00 u1 00 u0 - "punpckldq %%mm1,%%mm1\n" // 00 u1 00 u0 00 u1 00 u0 --#ifdef GCC2_HACK - "psubw _MMX_0080w,%%mm1\n" // mm1-128:u1 u1 u0 u0 u1 u1 u0 u0 --#else -- "psubw %[_MMX_0080w],%%mm1\n" // mm1-128:u1 u1 u0 u0 u1 u1 u0 u0 --#endif - // create Cb_g (result in mm5) - "movq %%mm1,%%mm5\n" // u1 u1 u0 u0 u1 u1 u0 u0 --#ifdef GCC2_HACK - "pmullw _MMX_UgrnRGB,%%mm5\n" // blue*-109dec=1.7129*64 - "pmullw _MMX_UbluRGB,%%mm1\n" // blue*114dec=1.78125*64 --#else -- "pmullw %[_MMX_UgrnRGB],%%mm5\n" // blue*-109dec=1.7129*64 -- "pmullw %[_MMX_UbluRGB],%%mm1\n" // blue*114dec=1.78125*64 --#endif - "psraw $6, %%mm5\n" // blue=red/64 - "psraw $6, %%mm1\n" // blue=blue/64 - -@@ -268,17 +234,7 @@ - "popl %%ebx\n" - : - : "m" (cr), "r"(cb),"r"(lum), -- "r"(row1),"r"(cols),"r"(row2),"m"(x),"m"(y),"m"(mod) --#ifndef GCC2_HACK -- ,[_MMX_0080w] "m" (*MMX_0080w), -- [_MMX_00FFw] "m" (*MMX_00FFw), -- [_MMX_FF00w] "m" (*MMX_FF00w), -- [_MMX_VgrnRGB] "m" (*MMX_VgrnRGB), -- [_MMX_VredRGB] "m" (*MMX_VredRGB), -- [_MMX_UgrnRGB] "m" (*MMX_UgrnRGB), -- [_MMX_UbluRGB] "m" (*MMX_UbluRGB) --#endif -- ); -+ "r"(row1),"r"(cols),"r"(row2),"m"(x),"m"(y),"m"(mod)); - } - - void Color565DitherYV12MMX1X( int *colortab, Uint32 *rgb_2_pix, -@@ -307,48 +263,21 @@ - "movd (%%ebx), %%mm1\n" // 4 Cr 0 0 0 0 v3 v2 v1 v0 - "punpcklbw %%mm7, %%mm0\n" // 4 W cb 0 u3 0 u2 0 u1 0 u0 - "punpcklbw %%mm7, %%mm1\n" // 4 W cr 0 v3 0 v2 0 v1 0 v0 --#ifdef GCC2_HACK - "psubw _MMX_0080w, %%mm0\n" - "psubw _MMX_0080w, %%mm1\n" --#else -- "psubw %[_MMX_0080w], %%mm0\n" -- "psubw %[_MMX_0080w], %%mm1\n" --#endif - "movq %%mm0, %%mm2\n" // Cb 0 u3 0 u2 0 u1 0 u0 - "movq %%mm1, %%mm3\n" // Cr --#ifdef GCC2_HACK - "pmullw _MMX_Ugrn565, %%mm2\n" // Cb2green 0 R3 0 R2 0 R1 0 R0 --#else -- "pmullw %[_MMX_Ugrn565], %%mm2\n" // Cb2green 0 R3 0 R2 0 R1 0 R0 --#endif - "movq (%2), %%mm6\n" // L1 l7 L6 L5 L4 L3 L2 L1 L0 --#ifdef GCC2_HACK - "pmullw _MMX_Ublu5x5, %%mm0\n" // Cb2blue - "pand _MMX_00FFw, %%mm6\n" // L1 00 L6 00 L4 00 L2 00 L0 - "pmullw _MMX_Vgrn565, %%mm3\n" // Cr2green --#else -- "pmullw %[_MMX_Ublu5x5], %%mm0\n" // Cb2blue -- "pand %[_MMX_00FFw], %%mm6\n" // L1 00 L6 00 L4 00 L2 00 L0 -- "pmullw %[_MMX_Vgrn565], %%mm3\n" // Cr2green --#endif - "movq (%2), %%mm7\n" // L2 --#ifdef GCC2_HACK - "pmullw _MMX_Vred5x5, %%mm1\n" // Cr2red --#else -- "pmullw %[_MMX_Vred5x5], %%mm1\n" // Cr2red --#endif - "psrlw $8, %%mm7\n" // L2 00 L7 00 L5 00 L3 00 L1 --#ifdef GCC2_HACK - "pmullw _MMX_Ycoeff, %%mm6\n" // lum1 --#else -- "pmullw %[_MMX_Ycoeff], %%mm6\n" // lum1 --#endif - "paddw %%mm3, %%mm2\n" // Cb2green + Cr2green == green --#ifdef GCC2_HACK - "pmullw _MMX_Ycoeff, %%mm7\n" // lum2 --#else -- "pmullw %[_MMX_Ycoeff], %%mm7\n" // lum2 --#endif - - "movq %%mm6, %%mm4\n" // lum1 - "paddw %%mm0, %%mm6\n" // lum1 +blue 00 B6 00 B4 00 B2 00 B0 -@@ -366,20 +295,11 @@ - "punpcklbw %%mm4, %%mm4\n" - "punpcklbw %%mm5, %%mm5\n" - --#ifdef GCC2_HACK - "pand _MMX_red565, %%mm4\n" --#else -- "pand %[_MMX_red565], %%mm4\n" --#endif - "psllw $3, %%mm5\n" // GREEN 1 - "punpcklbw %%mm6, %%mm6\n" --#ifdef GCC2_HACK - "pand _MMX_grn565, %%mm5\n" - "pand _MMX_red565, %%mm6\n" --#else -- "pand %[_MMX_grn565], %%mm5\n" -- "pand %[_MMX_red565], %%mm6\n" --#endif - "por %%mm5, %%mm4\n" // - "psrlw $11, %%mm6\n" // BLUE 1 - "movq %%mm3, %%mm5\n" // lum2 -@@ -393,44 +313,23 @@ - "packuswb %%mm3, %%mm3\n" - "packuswb %%mm5, %%mm5\n" - "packuswb %%mm7, %%mm7\n" --#ifdef GCC2_HACK - "pand _MMX_00FFw, %%mm6\n" // L3 --#else -- "pand %[_MMX_00FFw], %%mm6\n" // L3 --#endif - "punpcklbw %%mm3, %%mm3\n" - "punpcklbw %%mm5, %%mm5\n" --#ifdef GCC2_HACK - "pmullw _MMX_Ycoeff, %%mm6\n" // lum3 --#else -- "pmullw %[_MMX_Ycoeff], %%mm6\n" // lum3 --#endif - "punpcklbw %%mm7, %%mm7\n" - "psllw $3, %%mm5\n" // GREEN 2 --#ifdef GCC2_HACK - "pand _MMX_red565, %%mm7\n" - "pand _MMX_red565, %%mm3\n" --#else -- "pand %[_MMX_red565], %%mm7\n" -- "pand %[_MMX_red565], %%mm3\n" --#endif - "psrlw $11, %%mm7\n" // BLUE 2 --#ifdef GCC2_HACK - "pand _MMX_grn565, %%mm5\n" --#else -- "pand %[_MMX_grn565], %%mm5\n" --#endif - "por %%mm7, %%mm3\n" - "movq (%2,%4), %%mm7\n" // L4 load lum2 - "por %%mm5, %%mm3\n" // - "psrlw $8, %%mm7\n" // L4 - "movq %%mm4, %%mm5\n" - "punpcklwd %%mm3, %%mm4\n" --#ifdef GCC2_HACK - "pmullw _MMX_Ycoeff, %%mm7\n" // lum4 --#else -- "pmullw %[_MMX_Ycoeff], %%mm7\n" // lum4 --#endif - "punpckhwd %%mm3, %%mm5\n" - - "movq %%mm4, (%3)\n" // write row1 -@@ -457,20 +356,11 @@ - "punpcklbw %%mm5, %%mm5\n" - "punpcklbw %%mm6, %%mm6\n" - "psllw $3, %%mm5\n" // GREEN 3 --#ifdef GCC2_HACK - "pand _MMX_red565, %%mm4\n" --#else -- "pand %[_MMX_red565], %%mm4\n" --#endif - "psraw $6, %%mm3\n" // psr 6 - "psraw $6, %%mm0\n" --#ifdef GCC2_HACK - "pand _MMX_red565, %%mm6\n" // BLUE - "pand _MMX_grn565, %%mm5\n" --#else -- "pand %[_MMX_red565], %%mm6\n" // BLUE -- "pand %[_MMX_grn565], %%mm5\n" --#endif - "psrlw $11, %%mm6\n" // BLUE 3 - "por %%mm5, %%mm4\n" - "psraw $6, %%mm7\n" -@@ -481,20 +371,11 @@ - "punpcklbw %%mm3, %%mm3\n" - "punpcklbw %%mm0, %%mm0\n" - "punpcklbw %%mm7, %%mm7\n" --#ifdef GCC2_HACK - "pand _MMX_red565, %%mm3\n" - "pand _MMX_red565, %%mm7\n" // BLUE --#else -- "pand %[_MMX_red565], %%mm3\n" -- "pand %[_MMX_red565], %%mm7\n" // BLUE --#endif - "psllw $3, %%mm0\n" // GREEN 4 - "psrlw $11, %%mm7\n" --#ifdef GCC2_HACK - "pand _MMX_grn565, %%mm0\n" --#else -- "pand %[_MMX_grn565], %%mm0\n" --#endif - "por %%mm7, %%mm3\n" - "por %%mm0, %%mm3\n" - -@@ -526,21 +407,7 @@ - "popl %%ebx\n" - : - :"m" (cr), "r"(cb),"r"(lum), -- "r"(row1),"r"(cols),"r"(row2),"m"(x),"m"(y),"m"(mod) --#ifndef GCC2_HACK -- ,[_MMX_0080w] "m" (*MMX_0080w), -- [_MMX_Ugrn565] "m" (*MMX_Ugrn565), -- [_MMX_Ublu5x5] "m" (*MMX_Ublu5x5), -- [_MMX_00FFw] "m" (*MMX_00FFw), -- [_MMX_Vgrn565] "m" (*MMX_Vgrn565), -- [_MMX_Vred5x5] "m" (*MMX_Vred5x5), -- [_MMX_Ycoeff] "m" (*MMX_Ycoeff), -- [_MMX_red565] "m" (*MMX_red565), -- [_MMX_grn565] "m" (*MMX_grn565) --#endif -- ); -+ "r"(row1),"r"(cols),"r"(row2),"m"(x),"m"(y),"m"(mod)); - } - --#undef GCC2_HACK -- - #endif /* GCC i386 inline assembly */ |