Am Sonntag, 1. Dezember 2002 18:50 schrieb Nick Kurshev:
> Hello, Felix!
>
> On Sun, 1 Dec 2002 17:04:43 +0100 you wrote:
> > On Sun, 1 Dec 2002 18:43:10 +0300
> > Nick Kurshev <[EMAIL PROTECTED]> wrote:
> >
> > [snip]
> >
> > > (gdb) info all-registers
> > > eax            0x10     16
> > > ecx            0x8289420        136877088
> > > edx            0x8072a70        134687344
> > > ebx            0x827c984        136825220
> > > esp            0xbfffed98       0xbfffed98
> > > ebp            0x81d0168        0x81d0168
> > > esi            0x81d7c68        136150120
> > > edi            0x8288720        136873760
> > > eip            0x4046cb6a       0x4046cb6a
> > > eflags         0x10202  66050
> > > cs             0x23     35
> > > ss             0x2b     43
> > > ds             0x2b     43
> > > es             0x2b     43
> > > fs             0x2b     43
> > > gs             0x2b     43
> > > st0            0        (raw 0x00000000000000000000)
> > > st1            9.15698587894439697265625        (raw
> > > 0x4002928303a000000000) st2            -0.39477355778217315673828125   
> > > (raw 0xbffdca1fc28000000000) st3           
> > > 1.0389819958971111546475185605231673     (raw 0x3fff84fd5caec1652000)
> > > st4            1        (raw 0x3fff8000000000000000)
> > > st5            1        (raw 0x3fff8000000000000000)
> > > st6            0        (raw 0x00000000000000000000)
> > > st7            0.81921756267547607421875        (raw
> > > 0x3ffed1b83e0000000000) fctrl          0x7f     127
> > > fstat          0x0      0
> > > ftag           0x0      0
> > > fiseg          0x0      0
> > > fioff          0x0      0
> > > foseg          0x20     32
> > > fooff          0x0      0
> > > fop            0x0      0
> > > xmm0           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> > >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > > xmm1           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> > >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > > xmm2           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> > >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > > xmm3           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> > >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > > xmm4           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> > >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > > xmm5           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> > >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > > xmm6           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> > >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > > xmm7           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff),
> > >     -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
> > > mxcsr          0x1f80   8064
> >
> > The xmm registers look like they were not saved in the core dump. Could
> > you run glxgears inside gdb and get another register dump?
>
> The result was the same! :(
> I guess that SSE optimized function doesn't check length of parameters
> and executes wrong code.
>     MOV_L     ( EDX, REGOFF(V4F_COUNT, ECX) )
> I think that (ecx % 4) != 0 in this place and it would be correctly
> to limit SSE loop by less number of iteration:
> and ~$3, %ecx
> and execute scalar version for remaind of data.

Have you ever tried with "MESA_NO_SSE"?
Shoud work and I have reported same problem some days ago.

It arise due the MesaCVS 5.0 to 5.1 change and come into the trunk through the 
MesaCVS merge into the mesa-4-1-branch and finaly the mesa-4-1 merge into the 
trunk.

Mesa/demos> setenv MESA_DEBUG
Mesa/demos> setenv LIBGL_DEBUG verbose

Mesa/demos> unlimit coredumpsize

Mesa/demos> ./glinfo
libGL: XF86DRIGetClientDriverName: 4.0.1 r200 (screen 0)
libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/r200_dri.so
libGL: XF86DRIGetClientDriverName: 4.0.1 r200 (screen 0)
libGL: XF86DRIGetClientDriverName: 4.0.1 r200 (screen 0)
drmOpenByBusid: busid is PCI:1:5:0
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 4, (OK)
drmOpenByBusid: drmOpenMinor returns 4
drmOpenByBusid: drmGetBusid reports PCI:1:5:0
MMX cpu detected.
3DNow! cpu detected.
Testing OS support for SSE... yes.
Testing OS support for SSE unmasked exceptions... SIGFPE, yes.
Tests of OS support for SSE passed.
SSE cpu detected.
GL_VERSION: 1.2 Mesa 5.0
GL_EXTENSIONS: GL_ARB_imaging GL_ARB_multitexture GL_ARB_texture_border_clamp 
GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine 
GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat 
GL_ARB_transpose_matrix GL_ARB_window_pos GL_ATI_texture_mirror_once 
GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_logic_op 
GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint 
GL_EXT_convolution GL_EXT_compiled_vertex_array GL_EXT_histogram 
GL_EXT_packed_pixels GL_EXT_polygon_offset GL_EXT_rescale_normal 
GL_EXT_secondary_color GL_EXT_stencil_wrap GL_EXT_texture3D 
GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine 
GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic 
GL_EXT_texture_object GL_EXT_texture_lod_bias GL_EXT_vertex_array 
GL_IBM_rasterpos_clip GL_MESA_pack_invert GL_MESA_ycbcr_texture 
GL_MESA_window_pos GL_NV_texture_rectangle GL_NV_texgen_reflection 
GL_SGI_color_matrix GL_SGI_color_table
GL_RENDERER: Mesa DRI R200 20021125 AGP 4x x86/MMX/3DNow!/SSE TCL
GL_VENDOR: Tungsten Graphics, Inc.
GLU_VERSION: 1.3
GLU_EXTENSIONS: GLU_EXT_nurbs_tessellator GLU_EXT_object_space_tess
GLUT_API_VERSION: 5
GLUT_XLIB_IMPLEMENTATION: 15

Mesa/demos> ./stex3d
libGL: XF86DRIGetClientDriverName: 4.0.1 r200 (screen 0)
libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/r200_dri.so
libGL: XF86DRIGetClientDriverName: 4.0.1 r200 (screen 0)
libGL: XF86DRIGetClientDriverName: 4.0.1 r200 (screen 0)
drmOpenByBusid: busid is PCI:1:5:0
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 4, (OK)
drmOpenByBusid: drmOpenMinor returns 4
drmOpenByBusid: drmGetBusid reports PCI:1:5:0
MMX cpu detected.
3DNow! cpu detected.
Testing OS support for SSE... yes.
Testing OS support for SSE unmasked exceptions... SIGFPE, yes.
Tests of OS support for SSE passed.
SSE cpu detected.
GL_RENDERER: Mesa DRI R200 20021125 AGP 4x x86/MMX/3DNow!/SSE TCL
GL_MAX_3D_TEXTURE_SIZE: 128
Current 3D texture size: 64 x 64 x 64
creating 3d textures...
setting up 3d texture...
finished setting up 3d texture image.

Usage: stex3d  <cmd line options>
 cmd line options:
      -wxxx   Width of the texture (Default=64)
      -hxxx   Height of the texture (Default=64)
      -dxxx   Depth of the texture (Default=64)
 Keyboard Options:
    up/down   rotate around X
  left/right  rotate around Y
      z/Z     rotate around Z
       a      toggle animation
       s      toggle smooth shading
       t      toggle texgen mode
       o      toggle object: torus/sphere
       i      toggle texture image: noise/gradient
Floating exception (core dumped)

Reading symbols from /usr/X11R6/lib/modules/dri/r200_dri.so...done.
Loaded symbols for /usr/X11R6/lib/modules/dri/r200_dri.so
#0  0x40610c89 in _mesa_sse_transform_points3_3d ()
   from /usr/X11R6/lib/modules/dri/r200_dri.so
(gdb) bt
#0  0x40610c89 in _mesa_sse_transform_points3_3d ()
   from /usr/X11R6/lib/modules/dri/r200_dri.so
#1  0x0828da88 in ?? ()
#2  0x40524210 in default_calloc () from 
/usr/X11R6/lib/modules/dri/r200_dri.so
#3  0xfffad7e8 in ?? ()
(gdb) disassemble $eip $eip+15
Dump of assembler code from 0x40610c89 to 0x40610c98:
0x40610c89 <_mesa_sse_transform_points3_3d+101>:        mulps  %xmm0,%xmm4
0x40610c8c <_mesa_sse_transform_points3_3d+104>:        movss  0x4(%esi),%xmm5
0x40610c91 <_mesa_sse_transform_points3_3d+109>:        shufps 
$0x0,%xmm5,%xmm5
0x40610c95 <_mesa_sse_transform_points3_3d+113>:        mulps  %xmm1,%xmm5
End of assembler dump.
(gdb) info registers
eax            0x10     16
ecx            0x828e880        136898688
edx            0x8052670        134555248
ebx            0x6      6
esp            0xbfffeabc       0xbfffeabc
ebp            0x8056ee8        0x8056ee8
esi            0x823b328        136557352
edi            0x828db00        136895232
eip            0x40610c89       0x40610c89
eflags         0x10202  66050
cs             0x23     35
ss             0x2b     43
ds             0x2b     43
es             0x2b     43
fs             0x0      0
gs             0x0      0
fctrl          0x7f     127
fstat          0x0      0
ftag           0x0      0
fiseg          0x0      0
fioff          0x0      0
foseg          0x20     32
fooff          0x0      0
fop            0x0      0
xmm0           0xffffffffffffffffffffffffffffffff
xmm1           0xffffffffffffffffffffffffffffffff
xmm2           0xffffffffffffffffffffffffffffffff
xmm3           0xffffffffffffffffffffffffffffffff
xmm4           0xffffffffffffffffffffffffffffffff
xmm5           0xffffffffffffffffffffffffffffffff
xmm6           0xffffffffffffffffffffffffffffffff
xmm7           0xffffffffffffffffffffffffffffffff
mxcsr          0x1f80   8064

-Dieter


-------------------------------------------------------
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