<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [softpipe] glxgears floating point exception"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=66806#c8">Comment # 8</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [softpipe] glxgears floating point exception"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=66806">bug 66806</a>
              from <span class="vcard"><a class="email" href="mailto:sroland@vmware.com" title="Roland Scheidegger <sroland@vmware.com>"> <span class="fn">Roland Scheidegger</span></a>
</span></b>
        <pre>Vinson,

this looks like a compiler issue to me, what compiler are you using? I suspect
something funky might be going on when setting/getting mxcsr value. A
disassembly of draw_vbo() where these are set might help (there should be some
stmxcsr, doing some ors with the return value followed by a ldmxcsr with that
value).
Another solution would be to just set the exception mask bits regardless what
the value before was. Something like this:

diff --git a/src/gallium/auxiliary/util/u_math.c
b/src/gallium/auxiliary/util/u_math.c
index f3fe392..8c394d9 100644
--- a/src/gallium/auxiliary/util/u_math.c
+++ b/src/gallium/auxiliary/util/u_math.c
@@ -110,7 +110,7 @@ util_fpstate_set_denorms_to_zero(unsigned current_mxcsr)
 #if defined(PIPE_ARCH_SSE)
    if (util_cpu_caps.has_sse) {
       /* Enable flush to zero mode */
-      current_mxcsr |= _MM_FLUSH_ZERO_MASK;
+      current_mxcsr |= _MM_FLUSH_ZERO_MASK | _MM_MASK_MASK;
       if (util_cpu_caps.has_sse3) {
          /* Enable denormals are zero mode */
          current_mxcsr |= _MM_DENORMALS_ZERO_MASK;

In fact could potentially skip getting the previously set values entirely and
just set them to whatever we want (and setting back to some sane values at the
end, as it seems all ABIs require the same bits set. But I'm not 100% certain
the same bits are really right in all environments, so setting them back to
what they were before might be safer (as long as it works...).</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>