Missing graphics in orxBounce release build

edited September 2012 in Help request
Hi,

I'm running svn orx checked out today on Ubuntu 11.04 32bit with Intel graphics GM965.

When I compile orx using embedded dynamic debug config everything seems to run fine. However for the embedded dynamic release/profile I have a problem with orxBounce demo.

It starts fine, the walls appear for a second and then they are gone. Also no balls spawned are visible. The only thing that remains visible is the effect under mouse cursor.

I tried to rebuild all external dependencies but it did not help. Any ideas?

Cheers,
Graag

Comments

  • edited September 2012
    Hi Graag!

    Mmh no, weird, tonight everything was still working fine for me on windows.
    Do you know about when it broke for you? When did you sync for the last time before today?

    Unfortunately I do not have access to any linux machine at the moment. :(

    Lately I mostly worked on the console that is finally operational, and did a quick fix on how background events were handled in the GLFW display plugin, so I can't think of why things would behave like this.

    Are the objects still existing and only their visual missing, or did they get deleted completely?
  • edited September 2012
    Hi,

    Well it gets even more weird :S

    Last time Bounce was running fine in a release build was when I used acksys premake scripts for r3020. However the same checkout compiled using codelite project behaves as described in my first post.

    Relevant flags for orxLIB from premake generated Makefile:
      DEFINES   += -D__orxEMBEDDED__ -DAL_LIBTYPE_STATIC
      INCLUDES  += -I../../../include -I../../../../extern/dlmalloc -I../../../../extern/glfw-2.7/include -I../../../../extern/SOIL/include -I../../../../extern/Box2D_2.1.3/include -I../../../../extern/stb_vorbis
      CPPFLAGS  += -MMD -MP $(DEFINES) $(INCLUDES)
      CFLAGS    += $(CPPFLAGS) $(ARCH) -msse2 -ffast-math -Wall -g -O3 -m32 -fPIC -Wno-write-strings -fPIC -Wno-unused-function
      CXXFLAGS  += $(CFLAGS) -fno-exceptions -fno-rtti
      LDFLAGS   += -shared -m32 -L/usr/lib32 -L../../../../extern/Box2D_2.1.3/lib/linux -L../../../../extern/glfw-2.7/lib/linux -L../../../../extern/SOIL/lib/linux
      LIBS      += -lBox2D -lglfw -lSOIL -lsndfile -lopenal -lGL -lX11 -lXrandr -ldl -lm -lrt
    

    The libBounce.so was compiled with -O2 tho ...

    iarwain wrote:
    Are the objects still existing and only their visual missing, or did they get deleted completely?

    I have no idea. How do I test that?

    However I would guess that walls are there. In the version with glowing trace following cursor I see graphical artefacts when I fly with mouse over places where walls should appear ...

    I'm quite glad I did "git svn clone" the orx SVN repo this time, as I was able to switch between commits quite quickly B).

    The balls stop appearing after r2730

    The walls disappear after r2980

    Hope that helps to pin point the problem.

    Cheers,
    Graag
  • edited September 2012
    Mmh weird, just posted a reply but it never made it here? O_o

    So, that looks a lot like a gcc bug I've experienced in the past with gcc 4.4.x (or was it 4.5.x?).

    Open code/bin/BounceAlt.ini and comment out all the FXList properties.
    If you see everything that means that the gcc math optimization bug is back (or that you're using of of those old cursed versions).

    Do you know if you're using the same version of gcc with codelite and with the premake-generated makefiles? Or maybe one of them is using g++ instead of gcc by default?

    I know I've been successfully using r3000+ release versions on my linux64 with codelite/gcc 4.6.x.

    Let me know what you find! :)

    Cheers!
  • edited September 2012
    iarwain wrote:
    So, that looks a lot like a gcc bug I've experienced in the past with gcc 4.4.x (or was it 4.5.x?).

    Well I'm using 4.5.2 ...
    Open code/bin/BounceAlt.ini and comment out all the FXList properties.
    If you see everything that means that the gcc math optimization bug is back (or that you're using of of those old cursed versions).

    Indeed after removing FXList plus "Object.AddFX < FadeIn" from WallTrack the graphics are back. Yay :).
    Do you know if you're using the same version of gcc with codelite and with the premake-generated makefiles? Or maybe one of them is using g++ instead of gcc by default?

    I'm quite sure they both use gcc for almost everything (with exception of orxPlugin_EmbeddedList.cpp). And AFAIK I have one gcc version installed.
    I know I've been successfully using r3000+ release versions on my linux64 with codelite/gcc 4.6.x.

    Seems I'll have to update my system after all :(.
    For now I could stick to premake builds as they seem to not trigger the bug (though I'm worried it could show up under different circumstances).

    Any idea which optimizations are responsible so I could disable them?

    Cheers,
    Graag
  • edited September 2012
    Mmh, I remember tracking all that down to 2 specific optimization flags, unfortunately I don't remember which ones they were, that was quite a while ago. :(

    You'd think I'd have written them somewhere... Maybe I did, but then I forgot where! ;)
  • edited September 2012
    Guess no free lunch for me this time ;-)

    Counterintuitively setting "-msse2 -ffast-math" seems to fix/hide the problem so I'm good for now ;-).

    Thanks for you help.

    Cheers,
    Graag
  • edited September 2012
    Mmh, weird. ^^
    Well, as long as it works, that's the only thing that matters in the end I guess. ;)
Sign In or Register to comment.