On Tue, 10 Dec 2002 10:37:07 +0000
Keith Whitwell <[EMAIL PROTECTED]> wrote:

> Charl P. Botha wrote:
> > On Mon, Dec 09, 2002 at 10:30:35PM +0000, Keith Whitwell wrote:
> > 
> >>Charl P. Botha wrote:
> >>
> >>>On Mon, Dec 09, 2002 at 09:45:12PM +0000, Keith Whitwell wrote:
> >>>
> >>>>There's a fix for this in recent cvs:
> >>>>
> >>>>  /* Mask out highest bit, which is used by AMD for 3dnow
> >>>>       * Newer Intel have this bit set, but do not support 3dnow
> >>>>   */
> >>>>      AND_L   ( CONST(0X7FFFFFFF), EAX)
> >>>
> >>>
> >>>I still could reproduce this SIGFPE with yesterday's CVS.  I just did a 
> >>>grep
> >>>though all the .c and .h files in my DRI CVS tree for "Mask out highest 
> >>>bit"
> >>>but could not find the above.  In which file should this be?
> >>
> >>xc/extras/Mesa/src/X86/common_x86_asm.S
> > 
> > 
> > Okay, I just checked and I can still reproduce a SIGFPE with today's CVS.
> > I've made doubly sure that the new libGL is used.  Here is a backtrace:
> > 
> > Program received signal SIGFPE, Arithmetic exception.
> > 0x4246fe4a in _mesa_sse_transform_points3_general ()
> >    from /usr/X11R6/lib/modules/dri/radeon_dri.so
> > (gdb) bt
> > #0  0x4246fe4a in _mesa_sse_transform_points3_general ()
> >    from /usr/X11R6/lib/modules/dri/radeon_dri.so
> > #1  0x0840b6a0 in ?? ()
> > #2  0x4246c634 in init_vertex_stage (ctx=0x828d0e0, stage=0x840b174)
> >     at t_vb_vertex.c:286
> > #3  0x42427965 in _tnl_run_pipeline (ctx=0x828d0e0) at t_pipeline.c:154
> > #4  0x4247e36a in radeonWrapRunPipeline (ctx=0x828d0e0) at radeon_state.c:2089
> > #5  0x4242617b in _tnl_run_cassette (ctx=0x828d0e0, IM=0x8411f60)
> >     at t_imm_exec.c:399
> > #6  0x424261dc in exec_vert_cassette (ctx=0x828d0e0, IM=0x8411f60)
> >     at t_imm_exec.c:424
> > #7  0x4242635a in _tnl_execute_cassette (ctx=0x828d0e0, IM=0x8411f60)
> >     at t_imm_exec.c:493
> > #8  0x4241d74a in _tnl_flush_immediate (ctx=0x0, IM=0x8411f60)
> >     at t_imm_api.c:77
> > #9  0x4241e5f1 in _tnl_Vertex3f (x=39.2000008, y=46.7999992, z=17)
> >     at t_imm_api.c:834
> > #10 0x422ca718 in DrawVoxelSplat (Dptr=0x46e3931c, octantIdx=@0xbfffe657, 
> >     y=@0xbfffe658, z=@0xbfffe65c, prev_colour=0xbfffe8e0, ambient=@0xbfffe660, 
> >     diffuse=@0xbfffe664, u=0xbfffe8a0, v=0xbfffe8b0)
> >     at 
>/home/cpbotha/work/code/vtkcpbotha/Rendering/vtkOpenGLVolumeShellSplatMapper.cxx:113
> > 
> > DrawVoxelSplat is simply rendering oodles and oodles of textured quads.  Any
> > ideas?
> 
> It looks like a new/different problem to the one fixed earlier.  It's tempting 
> to say it's a bug in the assembly, but otoh that code has been pretty widely 
> used without change over the last couple of years.
> 
> It may be a result of the new gcc's ability to put sse, mmx into normal code - 
> this has bitten us a couple of times.

As far as I can tell it is a bug in gcc if you get mmx instructions in
normal output. It would break the kernel. As a test I once compiled my
kernel with gcc-3.2 -S and grepped for "%mm". All I found was some
inline assembly. A workaround for the gcc-3.2 (fixed in 3.2.1) problems
is to compile with -mno-mmx -mno-3dnow.

The use of SSE for normal floating point operations is another thing,
though. But according to gcc-3.2 docs -mfpmath=387 should be the
default.

> 
> The debugger should be able to show you the assembly instruction on which this 
> fails.  'disassemble' is the command.  'info regs' will show the contents of 
> the registers at this point.
> 
> Basically it's standard debugging:  What went wrong, why?
> 
> Keith

Felix

               __\|/__    ___     ___     ___
__Tschüß_______\_6 6_/___/__ \___/__ \___/___\___You can do anything,___
_____Felix_______\Ä/\ \_____\ \_____\ \______U___just not everything____
  [EMAIL PROTECTED]    >o<__/   \___/   \___/        at the same time!


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to