I figured out the segfault when doing the final enabling of MMX for
x86_64. I missed a #define in osdsurface.h which was fairly important.
Here's the patch that enables MMX for x86_64. I noticed a HUGE
performance boost with the EPG.

Jay

Index: osdsurface.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/osdsurface.cpp,v
retrieving revision 1.12
diff -u -r1.12 osdsurface.cpp
--- osdsurface.cpp      28 Apr 2005 01:29:59 -0000      1.12
+++ osdsurface.cpp      29 Apr 2005 04:42:33 -0000
@@ -189,8 +169,8 @@
     blendcolorfunc = &blendcolor;
     blendconstfunc = &blendconst;
 /* these do not yet work on x86_64, which does not define i386 */
-#if defined(i386) && defined(MMX)
     usemmx = (mm_support() & MM_MMX);
+#if defined(MMX)
     if (usemmx)
     {
         rec_lut[0] = 0;

Index: osdsurface.h
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/osdsurface.h,v
retrieving revision 1.5
diff -u -r1.5 osdsurface.h
--- osdsurface.h        20 Apr 2005 17:02:22 -0000      1.5
+++ osdsurface.h        29 Apr 2005 04:44:22 -0000
@@ -53,7 +53,7 @@

     QRegion usedRegions;

-#ifdef i386
+#ifdef MMX
     short int rec_lut[256];
 #else
     short int * rec_lut;
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

Reply via email to