diff options
Diffstat (limited to 'src/post/goom/diff_against_release.patch')
-rw-r--r-- | src/post/goom/diff_against_release.patch | 164 |
1 files changed, 150 insertions, 14 deletions
diff --git a/src/post/goom/diff_against_release.patch b/src/post/goom/diff_against_release.patch index 4fc5bd972..026cc9862 100644 --- a/src/post/goom/diff_against_release.patch +++ b/src/post/goom/diff_against_release.patch @@ -1,6 +1,6 @@ diff -ru goom2k4-0/src/filters.c xine-lib/src/post/goom/filters.c ---- goom2k4-0/src/filters.c 2005-02-07 11:46:41.000000000 -0200 -+++ xine-lib/src/post/goom/filters.c 2005-07-18 12:15:50.000000000 -0300 +--- filters.c 2005-02-07 11:46:41.000000000 -0200 ++++ filters.c 2005-07-18 12:15:50.000000000 -0300 @@ -704,7 +704,7 @@ data->general_speed = 0.0f; @@ -11,8 +11,8 @@ diff -ru goom2k4-0/src/filters.c xine-lib/src/post/goom/filters.c data->hypercosEffect = 0; data->vPlaneEffect = 0; diff -ru goom2k4-0/src/goom_core.c xine-lib/src/post/goom/goom_core.c ---- goom2k4-0/src/goom_core.c 2005-02-07 11:46:41.000000000 -0200 -+++ xine-lib/src/post/goom/goom_core.c 2005-07-19 12:39:22.000000000 -0300 +--- goom_core.c 2005-02-07 11:46:41.000000000 -0200 ++++ goom_core.c 2005-07-19 12:39:22.000000000 -0300 @@ -26,6 +26,8 @@ #include "goom_fx.h" #include "goomsl.h" @@ -36,8 +36,8 @@ diff -ru goom2k4-0/src/goom_core.c xine-lib/src/post/goom/goom_core.c return (guint32*)goomInfo->outputBuf; } diff -ru goom2k4-0/src/goom_tools.c xine-lib/src/post/goom/goom_tools.c ---- goom2k4-0/src/goom_tools.c 2005-02-07 11:46:41.000000000 -0200 -+++ xine-lib/src/post/goom/goom_tools.c 2005-07-18 14:30:02.000000000 -0300 +--- goom_tools.c 2005-02-07 11:46:41.000000000 -0200 ++++ goom_tools.c 2005-07-18 14:30:02.000000000 -0300 @@ -3,7 +3,6 @@ GoomRandom *goom_random_init(int i) { @@ -47,8 +47,8 @@ diff -ru goom2k4-0/src/goom_tools.c xine-lib/src/post/goom/goom_tools.c goom_random_update_array(grandom, GOOM_NB_RAND); return grandom; diff -ru goom2k4-0/src/ifs.c xine-lib/src/post/goom/ifs.c ---- goom2k4-0/src/ifs.c 2005-02-07 11:46:41.000000000 -0200 -+++ xine-lib/src/post/goom/ifs.c 2005-07-19 14:20:20.000000000 -0300 +--- ifs.c 2005-02-07 11:46:41.000000000 -0200 ++++ ifs.c 2005-07-19 14:20:20.000000000 -0300 @@ -503,6 +503,13 @@ for (i = 0; i < 4; i++) { @@ -64,8 +64,8 @@ diff -ru goom2k4-0/src/ifs.c xine-lib/src/post/goom/ifs.c } } diff -ru goom2k4-0/src/tentacle3d.c xine-lib/src/post/goom/tentacle3d.c ---- goom2k4-0/src/tentacle3d.c 2005-02-07 11:46:41.000000000 -0200 -+++ xine-lib/src/post/goom/tentacle3d.c 2005-07-19 14:04:57.000000000 -0300 +--- tentacle3d.c 2005-02-07 11:46:41.000000000 -0200 ++++ tentacle3d.c 2005-07-19 14:04:57.000000000 -0300 @@ -10,7 +10,7 @@ #define D 256.0f @@ -76,8 +76,8 @@ diff -ru goom2k4-0/src/tentacle3d.c xine-lib/src/post/goom/tentacle3d.c typedef struct _TENTACLE_FX_DATA { diff -ru goom2k4-0/src/xmmx.c xine-lib/src/post/goom/xmmx.c ---- goom2k4-0/src/xmmx.c 2005-02-07 11:46:41.000000000 -0200 -+++ xine-lib/src/post/goom/xmmx.c 2005-07-18 15:26:23.000000000 -0300 +--- xmmx.c 2005-02-07 11:46:41.000000000 -0200 ++++ xmmx.c 2005-07-18 15:26:23.000000000 -0300 @@ -239,7 +239,11 @@ ++loop; @@ -345,8 +345,8 @@ diff -u -p -r1.13 goom_core.c *param1 = goomInfo->screen.width / 7.0f; *param2 = 6.0f * goomInfo->screen.width / 7.0f; } ---- post/goom/filters.c.orig 2005-08-20 12:29:12.000000000 +0200 -+++ post/goom/filters.c 2005-08-20 12:28:25.000000000 +0200 +--- filters.c.orig 2005-08-20 12:29:12.000000000 +0200 ++++ filters.c 2005-08-20 12:28:25.000000000 +0200 @@ -201,8 +201,8 @@ static inline v2g zoomVector(ZoomFilterF /* Noise */ if (data->noisify) @@ -358,3 +358,139 @@ diff -u -p -r1.13 goom_core.c } /* Hypercos */ +diff -r -u xine-lib-1.1.0-orig/src/post/goom/convolve_fx.c xine-lib-1.1.0/src/post/goom/convolve_fx.c +--- convolve_fx.c 2005-07-22 12:42:00.000000000 -0400 ++++ convolve_fx.c 2005-11-11 14:59:39.925112333 -0500 +@@ -7,6 +7,10 @@ + #include <stdlib.h> + #include <string.h> + ++#if HAVE_CONFIG_H ++# include "config.h" ++#endif ++ + //#define CONV_MOTIF_W 32 + //#define CONV_MOTIF_WMASK 0x1f + +@@ -151,7 +155,8 @@ + ytex = yprime + yi + CONV_MOTIF_W * 0x10000 / 2; + yprime += c; + +-#ifdef HAVE_MMX ++#if defined(HAVE_MMX) && ! defined(ARCH_X86_64) ++/* This code uses 32-bit registers eax,ecx,esi */ + __asm__ __volatile__ + ("\n\t pxor %%mm7, %%mm7" /* mm7 = 0 */ + "\n\t movd %0, %%mm2" +diff -r -u xine-lib-1.1.0-orig/src/post/goom/mmx.c xine-lib-1.1.0/src/post/goom/mmx.c +--- mmx.c 2004-07-21 10:38:30.000000000 -0400 ++++ mmx.c 2005-11-11 14:51:52.890358793 -0500 +@@ -4,6 +4,7 @@ + #define BUFFPOINTMASK 0xffff + #define BUFFINCR 0xff + ++#include <stddef.h> + #include "mmx.h" + #include "goom_graphic.h" + +@@ -23,6 +24,7 @@ + int precalCoef[16][16]) + { + unsigned int ax = (prevX-1)<<PERTEDEC, ay = (prevY-1)<<PERTEDEC; ++ size_t sizeX = prevX; + + int bufsize = prevX * prevY; + int loop; +@@ -33,7 +35,7 @@ + { + /* int couleur; */ + int px,py; +- int pos; ++ size_t pos; + int coeffs; + + int myPos = loop << 1, +@@ -91,7 +93,7 @@ + "punpckhbw %%mm7, %%mm5 \n\t" /* 00-c4-00-c4-00-c4-00-c4 */ + + /* ajouter la longueur de ligne a esi */ +- "addl 8(%%ebp),%1 \n\t" ++ "add %4,%1 \n\t" + + /* recuperation des 2 derniers pixels */ + "movq (%3,%1,4), %%mm1 \n\t" +@@ -114,8 +116,8 @@ + "packuswb %%mm7, %%mm0 \n\t" + + "movd %%mm0,%0 \n\t" +- :"=g"(expix2[loop]) +- :"r"(pos),"r"(coeffs),"r"(expix1) ++ :"=g"(expix2[loop]),"=r"(pos) ++ :"r"(coeffs),"r"(expix1),"g"(sizeX) + + ); + +diff -r -u xine-lib-1.1.0-orig/src/post/goom/mmx.h xine-lib-1.1.0/src/post/goom/mmx.h +--- mmx.h 2005-07-19 14:10:30.000000000 -0400 ++++ mmx.h 2005-11-11 14:51:52.890358793 -0500 +@@ -27,6 +27,10 @@ + #ifndef _MMX_H + #define _MMX_H + ++#ifdef HAVE_CONFIG_H ++# include "config.h" ++#endif ++ + #include "goom_graphic.h" + + /* Warning: at this writing, the version of GAS packaged +@@ -69,6 +73,9 @@ + 13 if AMD Extended MMX, &3dNow supported + 0 if hardware does not support any of these + */ ++#ifdef ARCH_X86_64 ++ return 13; ++#else + register int rval = 0; + + __asm__ __volatile__ ( +@@ -223,6 +230,7 @@ + + /* Return */ + return(rval); ++#endif + } + + /* Function to test if mmx instructions are supported... +diff -r -u xine-lib-1.1.0-orig/src/post/goom/xmmx.c xine-lib-1.1.0/src/post/goom/xmmx.c +--- xmmx.c 2005-07-21 16:48:37.000000000 -0400 ++++ xmmx.c 2005-11-11 14:51:52.890358793 -0500 +@@ -23,7 +23,12 @@ + #include "goom_graphic.h" + + int xmmx_supported (void) { ++#ifdef ARCH_X86_64 ++ return 0; /* Haven't yet converted zoom_filter_xmmx ++ to support 64-bit memory index registers (rsi,rax) */ ++#else + return (mm_support()&0x8)>>3; ++#endif + } + + void zoom_filter_xmmx (int prevX, int prevY, +@@ -31,6 +36,7 @@ + int *lbruS, int *lbruD, int buffratio, + int precalCoef[16][16]) + { ++#ifndef ARCH_X86_64 + int bufsize = prevX * prevY; /* taille du buffer */ + volatile int loop; /* variable de boucle */ + +@@ -244,6 +250,7 @@ + /*#else + emms(); + #endif*/ ++#endif /* ARCH_X86_64 */ + } + + #define DRAWMETHOD_PLUS_XMMX(_out,_backbuf,_col) \ |