Daryll Strauss wrote:

> On Sat, Jan 29, 2000 at 10:01:28PM +0100, Dieter Nützel wrote:
> > Hello Holger,
> >
> > I use the latest binutils-2.9.5.0.24 (beta) together with pgcc-2.95.3
> > (you know). What do you think about? Could this be the source of my
> > problems with the Open Source Glide3 stuff?
> > Now I can compile Glide3 and run but only with -O (!!!). With the GL_AMD
> > variable set it brakes like before.
> >
>
> It's not surprising to need -O in some cases. A few of the I/O headers
> in the Linux kernel require -O2 in order to operate. (Read man outb)

OK. I did it the right way and installed gcc-2.95.2. Now I can compile and
run (!!!) Glide3.
I've checked all (I hope) combinations of the optimization flags and found a
very nice one.

Without AMD 3DNow! optimizations

CNODEBUG       = -O6 -ffast-math -fomit-frame-pointer \
  -malign-double -mpreferred-stack-boundary=5 \
  -funroll-all-loops -fexpensive-optimizations -DBIG_OPT

Very, very fast!!! Best I've ever seen:-)

But with the AMD 3DNow! optimizations enabled it crash (as expected).
Holger I hope this is helpful:

setenv GL_AMD3D 1

GNU gdb 19991004
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...(no debugging symbols
found)...
Core was generated by `./bounce'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/X11/lib/libglut.so.3...(no debugging symbols
found)...done.
Reading symbols from /usr/X11/lib/libSM.so.6...(no debugging symbols
found)...done.
Reading symbols from /usr/X11/lib/libICE.so.6...done.
Reading symbols from /usr/X11/lib/libXmu.so.6...done.
Reading symbols from /usr/X11/lib/libXext.so.6...done.
Reading symbols from /usr/X11/lib/libXi.so.6...done.
Reading symbols from /usr/X11/lib/libX11.so.6...done.
Reading symbols from /usr/X11/lib/libGLU.so.1...done.
Reading symbols from /usr/X11/lib/libGL.so.1...done.
Reading symbols from /usr/lib/libvga.so.1...done.
Reading symbols from /lib/libm.so.6...done.
Reading symbols from /lib/libc.so.6...done.
Reading symbols from /usr/X11/lib/libXt.so.6...done.
Reading symbols from
/tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3x.so...done.
Reading symbols from /lib/ld-linux.so.2...done.
#0  0x4061bf6f in L_win_cull_invalid___fifo_aligned ()
   from /tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3x.so
(gdb) bt
#0  0x4061bf6f in L_win_cull_invalid___fifo_aligned ()
   from /tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3x.so
#1  0xbfffeeec in ?? ()
Cannot access memory at address 0x8

*******************************************************************************

setenv GL_AMD3D 1
setenv DEBUG 1

SunWave1>ln -s libglide3.so.3.10 libglide3x.so ; ldd bounce ; l
ln: libglide3x.so: File exists
        libglut.so.3 => /usr/X11/lib/libglut.so.3 (0x40015000)
        libSM.so.6 => /usr/X11/lib/libSM.so.6 (0x4004a000)
        libICE.so.6 => /usr/X11/lib/libICE.so.6 (0x40054000)
        libXmu.so.6 => /usr/X11/lib/libXmu.so.6 (0x4006c000)
        libXext.so.6 => /usr/X11/lib/libXext.so.6 (0x4007f000)
        libXi.so.6 => /usr/X11/lib/libXi.so.6 (0x4008e000)
        libX11.so.6 => /usr/X11/lib/libX11.so.6 (0x40097000)
        libGLU.so.1 => /usr/X11/lib/libGLU.so.1 (0x40140000)
        libGL.so.1 => /usr/X11/lib/libGL.so.1 (0x40168000)
        libvga.so.1 => /usr/lib/libvga.so.1 (0x40462000)
        libm.so.6 => /lib/libm.so.6 (0x404aa000)
        libc.so.6 => /lib/libc.so.6 (0x404c8000)
        libXt.so.6 => /usr/X11/lib/libXt.so.6 (0x405ac000)
        libglide3x.so =>
/tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3x.so (0x405f7000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
total 2812
drwxr-xr-x   3 nuetzel  users        4096 Jan 30 02:57 .
drwxr-xr-x  12 nuetzel  users        4096 Jan 27 00:35 ..
drwxr-xr-x   2 nuetzel  users        4096 Jan 27 00:35 CVS
-rwxr-xr-x   1 nuetzel  users       12063 Jan 29 01:22 bounce
-r--r--r--   1 nuetzel  users     1682200 Jan 30 02:57 libglide3.a
lrwxrwxrwx   1 nuetzel  users          58 Jan 30 02:57 libglide3.so ->
/tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3.so.3.10
lrwxrwxrwx   1 nuetzel  users          58 Jan 30 02:57 libglide3.so.3 ->
/tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3.so.3.10
-r--r--r--   1 nuetzel  users     1034449 Jan 30 02:57 libglide3.so.3.10
lrwxrwxrwx   1 nuetzel  users          17 Jan 30 02:57 libglide3x.so ->
libglide3.so.3.10
-r--r--r--   1 nuetzel  users      114946 Jan 30 02:56 libminihwc.a
-rw-r--r--   1 nuetzel  users        1114 Nov 24 22:45 makefile.linux

SunWave1>./bounce
gd.0:   GLIDE DEBUG LIBRARY
gd.0:                  cpu: 0x8001000b
Segmentation fault (core dumped)

SunWave1>gdb bounce core
GNU gdb 19991004
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...(no debugging symbols
found)...
Core was generated by `./bounce'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/X11/lib/libglut.so.3...(no debugging symbols
found)...done.
Reading symbols from /usr/X11/lib/libSM.so.6...(no debugging symbols
found)...done.
Reading symbols from /usr/X11/lib/libICE.so.6...done.
Reading symbols from /usr/X11/lib/libXmu.so.6...done.
Reading symbols from /usr/X11/lib/libXext.so.6...done.
Reading symbols from /usr/X11/lib/libXi.so.6...done.
Reading symbols from /usr/X11/lib/libX11.so.6...done.
Reading symbols from /usr/X11/lib/libGLU.so.1...done.
Reading symbols from /usr/X11/lib/libGL.so.1...done.
Reading symbols from /usr/lib/libvga.so.1...done.
Reading symbols from /lib/libm.so.6...done.
Reading symbols from /lib/libc.so.6...done.
Reading symbols from /usr/X11/lib/libXt.so.6...done.
Reading symbols from
/tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3x.so...done.
Reading symbols from /lib/ld-linux.so.2...done.
#0  0x406707cf in L_win_cull_invalid___fifo_aligned ()
   from /tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3x.so
(gdb) bt
#0  0x406707cf in L_win_cull_invalid___fifo_aligned ()
   from /tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3x.so
#1  0xbfffee4c in ?? ()
Cannot access memory at address 0x8
(gdb) info reg
eax            0x46ffff09       1191182089
ecx            0x8072434        134685748
edx            0x8072320        134685472
ebx            0x8072434        134685748
esp            0xbfffee10       -1073746416
ebp            0x8      8
esi            0x4      4
edi            0x8072320        134685472
eip            0x406707cf       1080494031
eflags         0x10202  66050
cs             0x23     35
ss             0x2b     43
ds             0x2b     43
es             0x2b     43
fs             0x2b     43
gs             0x2b     43
cwd            0x43960000       1133903872
swd            0x43610000       1130430464
twd            0xff09ffff       -16121857
fip            0xc7f346ff       -940357889
fcs            0xffff4392       -48238
fopo           0x4392c7f3       1133692915
fos            0x0      0
(gdb)

Daryll and Holger what are you thinking about 3DNow! prefetch(w)
optimizations for texture management (loading)? I saw that the 3dfx code use
the 3DNow! instructions for this.

Regards,
        Dieter

--
Dieter Nützel
Graduate Student, Computer Science

University of Hamburg
Department of Computer Science
Cognitive Systems Group
Vogt-Kölln-Straße 30
D-22527 Hamburg, Germany

email: [EMAIL PROTECTED]
@home: [EMAIL PROTECTED]





_______________________________________________
Mesa-dev maillist  -  [EMAIL PROTECTED]
http://lists.mesa3d.org/mailman/listinfo/mesa-dev

Reply via email to