<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Using SB shader optimization caused segfault in Serious Sam 3: BFE"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=66349#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Using SB shader optimization caused segfault in Serious Sam 3: BFE"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=66349">bug 66349</a>
              from <span class="vcard"><a class="email" href="mailto:thomas.lindroth@gmail.com" title="Thomas Lindroth <thomas.lindroth@gmail.com>"> <span class="fn">Thomas Lindroth</span></a>
</span></b>
        <pre>I did some more debugging and it looks like memory corruption. I can reproduce
the problem with an apitrace dump but when using an --enable-debug build it
runs fine. It always segfaults in a call to glDrawRangeElements. I had the same
problem with Dungeon Defenders before. See <a href="show_bug.cgi?id=66349#c2">comment 2</a> in <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Game Dungeon Defenders crash my whole system."
   href="show_bug.cgi?id=62967">bug 62967</a>. It would
always segfault at some random glDrawRangeElements call unrelated to SB and
corrupt the stack. If I try to play back the sam3 trace with
LIBGL_ALWAYS_SOFTWARE=yes it will instead abort with the error "LLVM ERROR:
Program used external function '' which could not be resolved!" during a call
to glDrawRangeElements.

The full sam3 trace is 231M if you want it. I tried to trim it but the trimmed
version would result in an floating point exception in some other gl call.

I'm using latest git mesa but my setup is a bit odd. I run 64-bit gentoo but
the default 32-bit libs in gentoo are precompiled older versions. I work around
that problem by having a 32-bit gentoo chroot with git mesa, libdrm and other
libs games use. I run 32-bit apps like this
LIBGL_DRIVERS_PATH=/mnt/32bit/usr/lib/dri
LD_LIBRARY_PATH="/mnt/32bit/lib:/mnt/32bit/usr/lib" ./steam.sh</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>