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