ports/81171: [Maintainer Update] emulators/xmame to 0.96

Miguel Mendez flynn at energyhq.es.eu.org
Thu May 19 19:18:24 UTC 2005


On Wed, 18 May 2005 16:13:10 GMT
Volker Stolz <vs at FreeBSD.org> wrote:

> On 4.11:
> [OSDEPEND] Compiling src/unix/blit/blit_16_24.c ...
> In file included from src/unix/blit/blit_16_24.c:34:
> src/unix/blit/advance/xq2x.h: In function `blit_lq2x_16_24':
> src/unix/blit/advance/xq2x.h:222: virtual memory exhausted
> cpp0: output pipe has been closed
> gmake: *** [xmame.obj/unix.SDL/blit/blit_16_24.o] Error 1

Okay, this is interesting. 0.95 seems to build fine on the ports
cluster, so bear with me for a second...

flynn at scienide% diff -ruN xmame-0.95/src/unix/blit xmame-0.96/src/unix/
blit diff -ruN xmame-0.95/src/unix/blit/pixel_defs.h xmame-0.96/src/
unix/blit/pixel_defs.h --- xmame-0.95/src/unix/blit pixel_defs.h
Tue Mar 29 06:20:18 2005 +++ xmame-0.96/src/unix/blit/
pixel_defs.h       Wed May  4 00:26:28 2005 @@ -10,9 +10,9 @@
                                     (((p) & 0x000000F8) >> 3))
 
 #define RGB2YUV(r,g,b,y,u,v) \
-    (y) = ((  9836*(r) + 19310*(g) +  3750*(b)          ) >> 15); \
-    (u) = (( -5527*(r) - 10921*(g) + 16448*(b) + 4194304) >> 15); \
-    (v) = (( 16448*(r) - 13783*(g) -  2665*(b) + 4194304) >> 15)
+    (y) = ((  8453*(r) + 16594*(g) +  3223*(b) +  524288) >> 15); \
+    (u) = (( -4878*(r) -  9578*(g) + 14456*(b) + 4210688) >> 15); \
+    (v) = (( 14456*(r) - 12105*(g) -  2351*(b) + 4210688) >> 15)
 
 #ifdef LSB_FIRST    
 #define Y1MASK  0x000000FF

That's all that has changed from 0.95 to 0.96. Now, and this is the
tricky part, gcc 2.95 seems to be incredibly inefficient when compiling
the blit* bits (gcc 3.3 to a lesser extent too). The thing is, you can
actually compile this on RELENG_4... if you have 1GiB of total memory.
IIRC the cluster boxen have 1-2 GiBs, so that's why the problem went
unnoticed so far. How much memory does the box where you tried have?

So basically we have two options: Add a HEADS UP message informing
about the huge memory requirements (why hasn't anybody complained yet?)
or have this port build with gcc3.x, at least optionally. What do you
think? I'm not even sure the xmame guys support using gcc < 3.x

Cheers,
-- 
Miguel Mendez <flynn at energyhq.es.eu.org>
http://www.energyhq.es.eu.org
PGP Key: 0xDC8514F1



More information about the freebsd-ports-bugs mailing list