Compiler problems?

mase76
2008-08-29
2013-04-22
  • mase76

    mase76 - 2008-08-29

    Hi!
    I compiled the 1.9 version on my Debian Lenny (g++-4.3.1) machine.
    The PEOPS GPU-plugins don't work. After a few seconds only the
    shapes are visible. Garbage all over the screen. I took the 1.818
    and it was the same. I had a 1.818 version compiled under Debian
    Etch (g++-4.1.2), and there were no problems. The shipped opengl
    plugins doesn't work in all versions.
    Are there any compiler issues?

     
    • Nobody/Anonymous

      just to confirm, there are some graphical glitches when running FF8 if I compile the emulator with GCC 4.3, but there are no problems with GCC 4.1.

       
    • Nobody/Anonymous

      for example:

      GCC 4.3:
      http://img122.imageshack.us/my.php?image=pcsx003hi6.jpg

      GCC 4.1:
      http://img527.imageshack.us/my.php?image=pcsx004aq2.jpg

      also, it seems that this is a problem with the libpcsxcore rather than the plugins, as only replacing the plugin with a GCC 4.1-compiled one didn't help.

       
    • Nobody/Anonymous

      and I can also confirm that the problem is in gte.c, as if I only compile that file with GCC 4.1, other files with GCC 4.3, then the problem will be gone.

      I heard that they changed some floating-point related stuff in GCC 4.3, maybe it has something to do with that.

       
    • Nobody/Anonymous

      I see. So it's one of the optimization options which caused the problem.

      Try adding this one:

      libpcsxcore_la_CFLAGS = -fno-dse

      ...into libpcsxcore/Makefile.am, before libpcsxcore_la_SOURCES. Then run "sh autogen.sh" to regrenate the makefiles, and see if it helps.

       
    • Nobody/Anonymous

      Note that this will break all previous versions of GCC, maybe a better solution is to automatically detect this in the configure script.

       
    • Nobody/Anonymous

      adding this into configure.ac can make it check automatically:

      dnl Check for -fno-dse option support
      saved_CFLAGS="$CFLAGS"
      CFLAGS="$CFLAGS -fno-dse"
      AC_CACHE_CHECK([for -fno-dse option support], ac_cv_c_string_h_warnings,
      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]], [[]])],[ac_cv_c_no_dse_support=yes],[ac_cv_c_no_dse_support=no]))
      CFLAGS="$saved_CFLAGS"
      if test "$ac_cv_c_no_dse_support" = "yes"
      then
        CFLAGS="$CFLAGS -fno-dse"
      fi

       
  • mase76

    mase76 - 2009-09-29

    Yes this worked for me! I did not recognize the answers.
    Thank you!

     
  • Andrew Burton

    Andrew Burton - 2009-11-16

    I've updated the configure.ac script to add this check. Thanks for the fix Mr Nobody ;)

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks