r6528 - in packages/trunk/passage/debian: . patches

Paul Wise pabs at alioth.debian.org
Sun Apr 13 04:43:05 UTC 2008


Author: pabs
Date: 2008-04-13 04:43:04 +0000 (Sun, 13 Apr 2008)
New Revision: 6528

Added:
   packages/trunk/passage/debian/patches/amd64_fix.patch
Modified:
   packages/trunk/passage/debian/changelog
   packages/trunk/passage/debian/patches/series
Log:
Add patch from upstream CVS to fix amd64 brokenness (Closes: #475334)

Modified: packages/trunk/passage/debian/changelog
===================================================================
--- packages/trunk/passage/debian/changelog	2008-04-13 01:15:22 UTC (rev 6527)
+++ packages/trunk/passage/debian/changelog	2008-04-13 04:43:04 UTC (rev 6528)
@@ -1,3 +1,9 @@
+passage (3+dfsg1-2) UNRELEASED; urgency=low
+
+  * Add patch from upstream CVS to fix amd64 brokenness (Closes: #475334)
+
+ -- Paul Wise <pabs at debian.org>  Sun, 13 Apr 2008 12:41:12 +0800
+
 passage (3+dfsg1-1) unstable; urgency=low
 
   * Initial release (Closes: #471585)

Added: packages/trunk/passage/debian/patches/amd64_fix.patch
===================================================================
--- packages/trunk/passage/debian/patches/amd64_fix.patch	                        (rev 0)
+++ packages/trunk/passage/debian/patches/amd64_fix.patch	2008-04-13 04:43:04 UTC (rev 6528)
@@ -0,0 +1,228 @@
+Jason Rohrer <jasonrohrer at fastmail.fm>
+http://bugs.debian.org/475334
+Patch from upstream CVS to fix brokenness on amd64.
+--- gamma256/gameSource/landscape.cpp.orig
++++ gamma256/gameSource/landscape.cpp
+@@ -135,21 +135,21 @@
+  */
+ // this is the readable version of the funcion
+ // it has been turned into a set of macros below
+-inline unsigned long random32_readable( unsigned long inSeed ) {
++inline unsigned int random32_readable( unsigned int inSeed ) {
+     // this is the true hot-spot of the entire landscape function
+     // thus, optimization is warranted.
+     
+     // multiplier = 3141592621
+     // use hex to avoid warnings
+-    //unsigned long multiplier = 0xBB40E62D;
+-    //unsigned long increment = 1;
++    //unsigned int multiplier = 0xBB40E62D;
++    //unsigned int increment = 1;
+ 
+     // better:
+-    // unsigned long multiplier = 196314165
+-    // unsigned long increment  = 907633515
++    // unsigned int multiplier = 196314165
++    // unsigned int increment  = 907633515
+     
+     // this will automatically be mod-ed by 2^32 because of the limit
+-    // of the unsigned long type
++    // of the unsigned int type
+     // return multiplier * inSeed + increment;
+     //return 0xBB40E62D * inSeed + 1;
+     //return 196314165 * inSeed + 907633515;
+@@ -157,28 +157,28 @@
+     //int n = ( inSeed << 13 ) ^ inSeed;
+     //return n * (n * n * 15731 + 789221) + 1376312589;
+ 
+-    //const unsigned long Num1 = (inSeed * 0xFEA09B9DLU) + 1;
+-	//const unsigned long Num2 = ((inSeed * 0xB89C8895LU) + 1) >> 16;
++    //const unsigned int Num1 = (inSeed * 0xFEA09B9DU) + 1;
++	//const unsigned int Num2 = ((inSeed * 0xB89C8895U) + 1) >> 16;
+ 	//return Num1 ^ Num2;
+ 
+     /*
+     unsigned int rseed=(inSeed*15064013)^(inSeed*99991+604322121)^(inSeed*45120321)^(inSeed*5034121+13);
+ 
+-    const unsigned long Num1 = (inSeed * 0xFEA09B9DLU) + 1;
++    const unsigned int Num1 = (inSeed * 0xFEA09B9DU) + 1;
+ 
+-    const unsigned long Num2 = ((inSeed * 0xB89C8895LU) + 1) >> 16;
++    const unsigned int Num2 = ((inSeed * 0xB89C8895U) + 1) >> 16;
+ 
+     rseed *= Num1 ^ Num2;
+ 
+     return rseed;
+     */
+ 
+-    const unsigned long Num1 = (inSeed * 0xFEA09B9DLU) + 1;
+-	const unsigned long Num2 = ((inSeed^Num1) * 0x9C129511LU) + 1;
+-	const unsigned long Num3 = (inSeed * 0x2512CFB8LU) + 1;
+-	const unsigned long Num4 = ((inSeed^Num3) * 0xB89C8895LU) + 1;
+-	const unsigned long Num5 = (inSeed * 0x6BF962C1LU) + 1;
+-	const unsigned long Num6 = ((inSeed^Num5) * 0x4BF962C1LU) + 1;
++    const unsigned int Num1 = (inSeed * 0xFEA09B9DU) + 1;
++	const unsigned int Num2 = ((inSeed^Num1) * 0x9C129511U) + 1;
++	const unsigned int Num3 = (inSeed * 0x2512CFB8U) + 1;
++	const unsigned int Num4 = ((inSeed^Num3) * 0xB89C8895U) + 1;
++	const unsigned int Num5 = (inSeed * 0x6BF962C1U) + 1;
++	const unsigned int Num6 = ((inSeed^Num5) * 0x4BF962C1U) + 1;
+ 
+ 	return Num2 ^ (Num4 >> 11) ^ (Num6 >> 22);
+     }
+@@ -186,22 +186,22 @@
+ 
+ // faster as a set of macros
+ #define Num1( inSeed ) \
+-    ( ( inSeed * 0xFEA09B9DLU ) + 1 )
++    ( ( inSeed * 0xFEA09B9DU ) + 1 )
+ 
+ #define Num2( inSeed ) \
+-    ( ( ( inSeed ^ Num1( inSeed ) ) * 0x9C129511LU ) + 1 )
++    ( ( ( inSeed ^ Num1( inSeed ) ) * 0x9C129511U ) + 1 )
+ 
+ #define Num3( inSeed ) \
+-    ( ( inSeed * 0x2512CFB8LU ) + 1 )
++    ( ( inSeed * 0x2512CFB8U ) + 1 )
+ 
+ #define Num4( inSeed ) \
+-    ( ( ( inSeed ^ Num3( inSeed ) ) * 0xB89C8895LU ) + 1 )
++    ( ( ( inSeed ^ Num3( inSeed ) ) * 0xB89C8895U ) + 1 )
+ 
+ #define Num5( inSeed ) \
+-    ( ( inSeed * 0x6BF962C1LU ) + 1 )
++    ( ( inSeed * 0x6BF962C1U ) + 1 )
+ 
+ #define Num6( inSeed ) \
+-    ( ( ( inSeed ^ Num5( inSeed ) ) * 0x4BF962C1LU ) + 1 )
++    ( ( ( inSeed ^ Num5( inSeed ) ) * 0x4BF962C1U ) + 1 )
+ 
+ #define random32( inSeed ) \
+     ( Num2( inSeed ) ^ (Num4( inSeed ) >> 11) ^ (Num6( inSeed ) >> 22) )
+@@ -236,10 +236,10 @@
+  */
+ // keep readable version around for reference
+ // it has been replaced by a macro below
+-inline double noise4dInt32_readable( unsigned long x,
+-                                     unsigned long y,
+-                                     unsigned long z,
+-                                     unsigned long t ) {
++inline double noise4dInt32_readable( unsigned int x,
++                                     unsigned int y,
++                                     unsigned int z,
++                                     unsigned int t ) {
+ 
+     
+     //double maxIntAsDouble = 4294967295.0;
+@@ -251,14 +251,14 @@
+     // up when using addition.
+         
+     // mix x, y, z, and t
+-    unsigned long randomSeed =
++    unsigned int randomSeed =
+         x ^
+         y * 57 ^
+         z * 131 ^
+         t * 2383;
+ 
+-    // a random value between 0 and max unsigned long
+-    unsigned long randomValue = random32( randomSeed );
++    // a random value between 0 and max unsigned int
++    unsigned int randomValue = random32( randomSeed );
+ 
+     // a random value between 0 and 2
+     double zeroTwoValue = randomValue * invHalfMaxIntAsDouble;
+@@ -312,20 +312,20 @@
+  * with 3 fixed integer parameters.
+  */
+ inline double blendNoise1d( double x,
+-                     unsigned long y,
+-                     unsigned long z,
+-                     unsigned long t ) {
++                     unsigned int y,
++                     unsigned int z,
++                     unsigned int t ) {
+ 
+     double floorX = floor( x );
+-    unsigned long floorIntX = (unsigned long)floorX;
++    unsigned int floorIntX = (unsigned int)floorX;
+     
+     if( floorX == x ) {
+-        unsigned long precomputedMix = mixFour( floorIntX, y, z, t );
++        unsigned int precomputedMix = mixFour( floorIntX, y, z, t );
+         
+         return noise1dInt32( precomputedMix );
+         }
+     else {
+-        unsigned long ceilIntX = floorIntX + 1;
++        unsigned int ceilIntX = floorIntX + 1;
+ 
+         // cosine interpolation
+         // from http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
+@@ -337,7 +337,7 @@
+         // macro
+         // thus, we end up calling the noise1dInt32 function instead
+         
+-        unsigned long precomputedMix = mixFour( floorIntX, y, z, t );
++        unsigned int precomputedMix = mixFour( floorIntX, y, z, t );
+         double valueAtFloor = noise1dInt32( precomputedMix );
+ 
+         precomputedMix = mixFour( ceilIntX, y, z, t );
+@@ -355,17 +355,17 @@
+  */
+ double blendNoise2d( double x,
+                      double y,
+-                     unsigned long z,
+-                     unsigned long t ) {
++                     unsigned int z,
++                     unsigned int t ) {
+ 
+     double floorY = floor( y );
+-    unsigned long floorIntY = (unsigned long)floorY;
++    unsigned int floorIntY = (unsigned int)floorY;
+     
+     if( floorY == y ) {
+         return blendNoise1d( x, floorIntY, z, t );
+         }
+     else {
+-        unsigned long ceilIntY = floorIntY + 1;
++        unsigned int ceilIntY = floorIntY + 1;
+ 
+         // cosine interpolation
+         // from http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
+@@ -386,16 +386,16 @@
+ double blendNoise3d( double x,
+                      double y,
+                      double z,
+-                     unsigned long t ) {
++                     unsigned int t ) {
+ 
+     double floorZ = floor( z );
+-    unsigned long floorIntZ = (unsigned long)floorZ;
++    unsigned int floorIntZ = (unsigned int)floorZ;
+     
+     if( floorZ == z ) {
+         return blendNoise2d( x, y, floorIntZ, t );
+         }
+     else {
+-        unsigned long ceilIntZ = floorIntZ + 1;
++        unsigned int ceilIntZ = floorIntZ + 1;
+         
+         // cosine interpolation
+         // from http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
+@@ -418,13 +418,13 @@
+                 double t ) {
+ 
+     double floorT = floor( t );
+-    unsigned long floorIntT = (unsigned long)floorT;
++    unsigned int floorIntT = (unsigned int)floorT;
+     
+     if( floorT == t ) {
+         return blendNoise3d( x, y, z, floorIntT );
+         }
+     else {
+-        unsigned long ceilIntT = floorIntT + 1;
++        unsigned int ceilIntT = floorIntT + 1;
+ 
+         // cosine interpolation
+         // from http://freespace.virgin.net/hugo.elias/models/m_perlin.htm

Modified: packages/trunk/passage/debian/patches/series
===================================================================
--- packages/trunk/passage/debian/patches/series	2008-04-13 01:15:22 UTC (rev 6527)
+++ packages/trunk/passage/debian/patches/series	2008-04-13 04:43:04 UTC (rev 6528)
@@ -1 +1,2 @@
 abs_path.patch -p0
+amd64_fix.patch -p0




More information about the Pkg-games-commits mailing list