Hello,

I got a helpfully mail pointing me to a post at glide.sourceforge.net on 
Thursday or Friday last week and bingo, I got it.

http://sourceforge.net/tracker/index.php?func=detail&aid=451696&group_id=369&atid=100369

So most kudos go to ??? --- I don't know.

Both patches apply but the second (for h5) has a rejection.
I found that the rejected part isn't needed with the current glide code base.

[-]
--- glide3x-20010309/h5/glide3/src/fifo.c.orig  Tue Jul 31 12:38:36 2001
+++ glide3x-20010309/h5/glide3/src/fifo.c       Tue Jul 31 15:28:31 2001
@@ -1181,7 +1181,7 @@


 long
-_griHwFifoPtr(FxBool ignored)
+_grHwFifoPtr(FxBool ignored)
 {
   long rVal = 0;
[-]

I'll rediff it tomorrow and call for commit.
I have a precompiled version for the Athlon ready (i686 optimizations, hand 
crafted) and ask everyone for testing. 'cause I have no space present I ask 
for hosting and/or forwarding it to the Glide/DRI site, too.

The autoconf scripts aren't running completely so I call for help, here.
They only build much bigger and slower (!!!) libs when I chmod 755 build.3dfx

SOURCE/Glide3> ./chores.3dfx --clean --generate --configure=--enable-amd3d
[-]
config.status: creating swlibs/texus2/cmd/makefile.autoconf
config.status: creating swlibs/include/config.h
Done.

SOURCE/Glide3> cd build
Directory: /tmp/INSTALL/SOURCE/Glide3/build

Glide3/build> l
insgesamt 204
drwxr-xr-x    6 nuetzel  users         304 Apr  9 22:52 .
drwxr-xr-x    8 nuetzel  users         928 Apr  9 22:52 ..
-rw-r--r--    1 nuetzel  users        2391 Apr  9 22:52 build.3dfx
-rw-r--r--    1 nuetzel  users       23069 Apr  9 22:52 config.log
-rwxr-xr-x    1 nuetzel  users       32270 Apr  9 22:52 config.status
drwxr-xr-x    5 nuetzel  users         160 Apr  9 22:52 cvg
drwxr-xr-x    5 nuetzel  users         160 Apr  9 22:52 h3
drwxr-xr-x    5 nuetzel  users         160 Apr  9 22:52 h5
-rwxr-xr-x    1 nuetzel  users      119610 Apr  9 22:52 libtool
-rw-r--r--    1 nuetzel  users       17612 Apr  9 22:52 makefile.autoconf
drwxr-xr-x    7 nuetzel  users         208 Apr  9 22:52 swlibs
Glide3/build> chmod 755 build.3dfx

Glide3/build> ./build.3dfx

Dateisystem          1k-Bl�cke    Benutzt Verf�gbar Ben% montiert auf
/dev/sda2              1518088    274728   1243360  19% /tmp
Making all in swlibs
make[1]: Entering directory `/tmp/INSTALL/SOURCE/Glide3/build/swlibs'
Making all in fxmisc
make[2]: Entering directory `/tmp/INSTALL/SOURCE/Glide3/build/swlibs/fxmisc'
/bin/sh ../../libtool --mode=compile gcc -DX11 -fomit-frame-pointer 
-funroll-loops -fexpensive-optimizations -ffast-math -DBIG_OPT -Wall               
-I/tmp/INSTALL/SOURCE/Glide3/h5/glide3/src -I../../h5/incsrc 
-I/tmp/INSTALL/SOURCE/Glide3/h5/incsrc 
-I/tmp/INSTALL/SOURCE/Glide3/h5/minihwc -I. 
-I/tmp/INSTALL/SOURCE/Glide3/swlibs/fxmemmap 
-I/tmp/INSTALL/SOURCE/Glide3/swlibs/fxmisc 
-I/tmp/INSTALL/SOURCE/Glide3/swlibs/newpci/pcilib 
-I/tmp/INSTALL/SOURCE/Glide3/swlibs/texus2/lib            -O6 -m486         
-c /tmp/INSTALL/SOURCE/Glide3/swlibs/fxmisc/fx64.c
libtool: ltconfig version `' does not match ltmain.sh version `1.3.5'
Fatal configuration error.  See the libtool docs for more information.
make[2]: *** [fx64.lo] Error 1
make[2]: Leaving directory `/tmp/INSTALL/SOURCE/Glide3/build/swlibs/fxmisc'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/INSTALL/SOURCE/Glide3/build/swlibs'
make: *** [all-recursive] Error 1
Dateisystem          1k-Bl�cke    Benutzt Verf�gbar Ben% montiert auf
/dev/sda2              1518088    274728   1243360  19% /tmp
Time Elapsed: 0 Years, 0 Days, 0 Hours, 0 Minutes, 0 Seconds
expr: non-numeric argument
./build.3dfx: [: -lt: unary operator expected
expr: Syntaxfehler
expr: Syntaxfehler
Disk usage: . Mb

After I replace the generated libtool with my SuSE 7.3 /usr/bin/libtool 
version I get the big and slow libs.

ar cru .libs/libglide3.a  gsplash.o g3df.o gu.o gthread.o gpci.o diglide.o 
disst.o ditex.o gbanner.o gerror.o gaa.o gdraw.o gglide.o distate.o gstrip.o 
distrip.o diget.o glfb.o gsst.o gtex.o gtexdl.o fifo.o cpudtect.o 
xtexdl_def.o xdraw2_3dnow.o xdraw3_3dnow.o xtexdl_3dnow.o xdraw2_def.o 
xdraw3_def.o  .libs/libglide3.lax/libfxmisc.al/fximg.lo 
.libs/libglide3.lax/libfxmisc.al/fx64.lo 
.libs/libglide3.lax/libfxmisc.al/linutil.lo 
.libs/libglide3.lax/libfxmisc.al/fxos.lo  
.libs/libglide3.lax/libfxpci.al/fxmsr.lo 
.libs/libglide3.lax/libfxpci.al/sst1_pci.lo 
.libs/libglide3.lax/libfxpci.al/fxpci.lo 
.libs/libglide3.lax/libfxpci.al/fxlinux.lo 
.libs/libglide3.lax/libfxpci.al/fxinfo.lo  
.libs/libglide3.lax/libtexus.al/nccnnet.lo 
.libs/libglide3.lax/libtexus.al/read.lo 
.libs/libglide3.lax/libtexus.al/pal256.lo 
.libs/libglide3.lax/libtexus.al/codec.lo 
.libs/libglide3.lax/libtexus.al/quantize.lo 
.libs/libglide3.lax/libtexus.al/ncc.lo .libs/libglide3.lax/libtexus.al/ppm.lo 
.libs/libglide3.lax/libtexus.al/rgt.lo 
.libs/libglide3.lax/libtexus.al/diffuse.lo 
.libs/libglide3.lax/libtexus.al/tga.lo .libs/libglide3.lax/libtexus.al/txs.lo 
.libs/libglide3.lax/libtexus.al/mipmap.lo 
.libs/libglide3.lax/libtexus.al/eigen.lo 
.libs/libglide3.lax/libtexus.al/view.lo 
.libs/libglide3.lax/libtexus.al/util.lo 
.libs/libglide3.lax/libtexus.al/resample.lo 
.libs/libglide3.lax/libtexus.al/3df.lo 
.libs/libglide3.lax/libtexus.al/pal6666.lo 
.libs/libglide3.lax/libtexus.al/clamp.lo 
.libs/libglide3.lax/libtexus.al/write.lo 
.libs/libglide3.lax/libtexus.al/texuslib.lo 
.libs/libglide3.lax/libtexus.al/bitcoder.lo 
.libs/libglide3.lax/libtexus.al/dequant.lo  
.libs/libglide3.lax/libminihwc.al/hwcio.lo 
.libs/libglide3.lax/libminihwc.al/gdebug.lo 
.libs/libglide3.lax/libminihwc.al/linhwc.lo
ranlib .libs/libglide3.a
rm -fr .libs/libglide3.lax
creating libglide3.la
(cd .libs && rm -f libglide3.la && ln -s ../libglide3.la libglide3.la)
make[3]: Leaving directory `/tmp/INSTALL/SOURCE/Glide3/build/h5/glide3/src'
make[3]: Entering directory `/tmp/INSTALL/SOURCE/Glide3/build/h5/glide3'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/tmp/INSTALL/SOURCE/Glide3/build/h5/glide3'
make[2]: Leaving directory `/tmp/INSTALL/SOURCE/Glide3/build/h5/glide3'
make[2]: Entering directory `/tmp/INSTALL/SOURCE/Glide3/build/h5'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/tmp/INSTALL/SOURCE/Glide3/build/h5'
make[1]: Leaving directory `/tmp/INSTALL/SOURCE/Glide3/build/h5'
make[1]: Entering directory `/tmp/INSTALL/SOURCE/Glide3/build'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/tmp/INSTALL/SOURCE/Glide3/build'
Dateisystem          1k-Bl�cke    Benutzt Verf�gbar Ben% montiert auf
/dev/sda2              1518088    278252   1239836  19% /tmp
Time Elapsed: 0 Years, 0 Days, 0 Hours, 2 Minutes, 6 Seconds
expr: non-numeric argument
./build.3dfx: [: -lt: unary operator expected
expr: Syntaxfehler
expr: Syntaxfehler
Disk usage: . Mb

Glide3/build> l h5/glide3/src/.libs/
insgesamt 1107
drwxr-xr-x    2 nuetzel  users         248 Apr  9 23:06 .
drwxr-xr-x    4 nuetzel  users        1904 Apr  9 23:06 ..
-rw-r--r--    1 nuetzel  users      598428 Apr  9 23:06 libglide3.a
lrwxrwxrwx    1 nuetzel  users          15 Apr  9 23:06 libglide3.la -> 
../libglide3.la
-rw-r--r--    1 nuetzel  users         771 Apr  9 23:06 libglide3.lai
lrwxrwxrwx    1 nuetzel  users          19 Apr  9 23:06 libglide3.so -> 
libglide3.so.3.10.0
lrwxrwxrwx    1 nuetzel  users          19 Apr  9 23:06 libglide3.so.3 -> 
libglide3.so.3.10.0
-rwxr-xr-x    1 nuetzel  users      523720 Apr  9 23:06 libglide3.so.3.10.0

Apart from that I get a running texus2 tool! :-)

Glide3/build> l swlibs/texus2/cmd/
insgesamt 218
drwxr-xr-x    4 nuetzel  users         184 Apr  9 23:05 .
drwxr-xr-x    4 nuetzel  users         136 Apr  9 22:52 ..
drwxr-xr-x    2 nuetzel  users          72 Apr  9 23:05 .deps
drwxr-xr-x    2 nuetzel  users          48 Apr  9 23:05 .libs
-rw-r--r--    1 nuetzel  users       13844 Apr  9 23:05 cmd.o
-rw-r--r--    1 nuetzel  users       12884 Apr  9 22:52 makefile.autoconf
-rwxr-xr-x    1 nuetzel  users      186622 Apr  9 23:05 texus

It would be really cool to get the Glide test progs running, too.

I did my speedy lib like the old style:

setenv FX_GLIDE_HW h5
setenv GL_AMD3D 1
make -f makefile.linux

/home/nuetzel> l /usr/lib/libglide3.so.3.1
-rwxr-xr-x    1 root     root       354937 Apr  7 07:55 
/usr/lib/libglide3.so.3.1

Next thing:
I will focus on speed improvements (prefetch) and former speed grade (summer 
2000) as my results with latest Accelerated-X shows we can get more...

Linux version 2.4.19-pre5 + -aa vm33 + preemption+lock-break + 
00_k7-prefetch-1 + page_color

Mesa/demos> ./tenmillion
running on SunWave1 (Mesa DRI 20020221 Voodoo4 x86/MMX/3DNow!) Tue Apr  9 
23:36:38 2002
visual: 0x23
50 pixel triangles, 90 triangles/strip, 1 strips
vertex data: v3f
flat shading, zbuffer off, light off, texture off, immediate off
test time: 1.998 secs.
geometry rate: 879496 triangles/sec
fill rate: 43.975 Mpixels/sec
draw_strips_count: 1

Mesa/demos> ./tenmillion smooth
running on SunWave1 (Mesa DRI 20020221 Voodoo4 x86/MMX/3DNow!) Tue Apr  9 
23:36:46 2002
visual: 0x23
50 pixel triangles, 90 triangles/strip, 1 strips
vertex data: v3f
smooth shading, zbuffer off, light off, texture off, immediate off
test time: 1.579 secs.
geometry rate: 929552 triangles/sec
fill rate: 46.478 Mpixels/sec
draw_strips_count: 1

Mesa/demos> ./tenmillion area=3
running on SunWave1 (Mesa DRI 20020221 Voodoo4 x86/MMX/3DNow!) Tue Apr  9 
23:30:05 2002
visual: 0x23
3 pixel triangles, 90 triangles/strip, 4 strips
vertex data: v3f
flat shading, zbuffer off, light off, texture off, immediate off
test time: 1.996 secs.
geometry rate: 3883429 triangles/sec
fill rate: 11.650 Mpixels/sec
draw_strips_count: 1

Mesa/demos> ./tenmillion area=3 smooth
running on SunWave1 (Mesa DRI 20020221 Voodoo4 x86/MMX/3DNow!) Tue Apr  9 
23:30:14 2002
visual: 0x23
3 pixel triangles, 90 triangles/strip, 4 strips
vertex data: v3f
smooth shading, zbuffer off, light off, texture off, immediate off
test time: 1.247 secs.
geometry rate: 4551861 triangles/sec
fill rate: 13.656 Mpixels/sec
draw_strips_count: 1

With older kernel and Accelerated-X 2.0 beta I got:

GL_VERSION: 1.2.1
GL_EXTENSIONS: GL_ARB_multitexture GL_EXT_abgr GL_EXT_blend_subtract
GL_RENDERER: VSA-100/3DNow!
GL_VENDOR: Xi Graphics, Inc.
GLU_VERSION: 1.3
GLU_EXTENSIONS: GLU_EXT_nurbs_tessellator GLU_EXT_object_space_tess
GLUT_API_VERSION: 3
GLUT_XLIB_IMPLEMENTATION: 15

running on SunWave1 (VSA-100/3DNow!) Thu Sep 27 05:25:10 2001
visual: 0x21
50 pixel triangles, 90 triangles/strip, 1 strips
vertex data: v3f
flat shading, zbuffer off, light off, texture off, immediate off
test time: 1.997 secs.
geometry rate: 3258835 triangles/sec
fill rate: 162.942 Mpixels/sec
draw_strips_count: 1

SunWave1>./tenmillion smooth
running on SunWave1 (VSA-100/3DNow!) Thu Sep 27 05:25:17 2001
visual: 0x21
50 pixel triangles, 90 triangles/strip, 1 strips
vertex data: v3f
smooth shading, zbuffer off, light off, texture off, immediate off
test time: 1.997 secs.
geometry rate: 3259569 triangles/sec
fill rate: 162.978 Mpixels/sec
draw_strips_count: 1

SunWave1>./tenmillion area=3
running on SunWave1 (VSA-100/3DNow!) Thu Sep 27 05:25:28 2001
visual: 0x21
3 pixel triangles, 90 triangles/strip, 4 strips
vertex data: v3f
flat shading, zbuffer off, light off, texture off, immediate off
test time: 1.996 secs.
geometry rate: 6836102 triangles/sec
fill rate: 20.508 Mpixels/sec
draw_strips_count: 1

SunWave1>./tenmillion area=3 smooth
running on SunWave1 (VSA-100/3DNow!) Thu Sep 27 05:25:39 2001
visual: 0x21
3 pixel triangles, 90 triangles/strip, 4 strips
vertex data: v3f
smooth shading, zbuffer off, light off, texture off, immediate off
test time: 1.996 secs.
geometry rate: 6836527 triangles/sec
fill rate: 20.510 Mpixels/sec
draw_strips_count: 1

They have a much better AGP driver I think.
Look here, there 2.1 diver on my latest kernel (with page_color).
Now, they have an updated 2.1 Accelerated-X server with 3.xx AGPGART version, 
but there precompiled kernel module do not work on my kernel.

SunWave1 xig/xsvc# ./xsvctest
xsvc: Version Major: 2 Minor: 1
      bridge vendor: 0x1022 bridge device: 0x7006
      agp status: 0xF000203  agp mode: 0x100
      aperture base: 0xE8000000  aperture size: 0x2000000 (33554432)
      pages bound: 0
xsvc: mmap'd 33554432 bytes at offset 0xE8000000, agp = 0x4014a000
xsvc: MTRR type 0x1 set
xsvc: Starting bandwidth test, 3 tests, interval = 5 secs.
0: Wrote 671088640 (640MB) bytes/sec. (200 iterations of 16777216 bytes)
1: Wrote 671088640 (640MB) bytes/sec. (200 iterations of 16777216 bytes)
2: Wrote 671088640 (640MB) bytes/sec. (200 iterations of 16777216 bytes)
xsvc: Average: 671088640 (640MB) bytes/sec.

These numbers with my "poor" system:
1 GHz Athlon II (0.18�m, L1 128K, L2 512K)
MSI MS-6167 Rev 1.0B (AMD 750, Irongate C4, without bypass)
640 MB PC100-2-2-2 SDRAM

Raw memory speed is like below:

nuetzel/Entwicklung> ./athlon
Athlon test program $Id: fast.c,v 1.6 2000/09/23 09:05:45 arjan Exp $
clear_page() tests
clear_page function 'warm up run'        took 23164 cycles per page
clear_page function '2.4 non MMX'        took 15233 cycles per page
clear_page function '2.4 MMX fallback'   took 15606 cycles per page
clear_page function '2.4 MMX version'    took 13053 cycles per page
clear_page function 'faster_clear_page'  took 6753 cycles per page
clear_page function 'even_faster_clear'  took 5488 cycles per page

copy_page() tests
copy_page function 'warm up run'         took 33096 cycles per page
copy_page function '2.4 non MMX'         took 45402 cycles per page
copy_page function '2.4 MMX fallback'    took 48318 cycles per page
copy_page function '2.4 MMX version'     took 33428 cycles per page
copy_page function 'faster_copy'         took 13702 cycles per page
copy_page function 'even_faster'         took 14667 cycles per page

nuetzel/Entwicklung> ./athlon2
998.074 MHz
clear_page by 'normal_clear_page'        took 13718 cycles (284.2 MB/s)
clear_page by 'slow_zero_page'           took 14503 cycles (268.8 MB/s)
clear_page by 'fast_clear_page'          took 11882 cycles (328.1 MB/s)
clear_page by 'faster_clear_page'        took 5408 cycles (720.9 MB/s)

copy_page by 'normal_copy_page'  took 22165 cycles (175.9 MB/s)
copy_page by 'slow_copy_page'    took 22942 cycles (169.9 MB/s)
copy_page by 'fast_copy_page'    took 13715 cycles (284.3 MB/s)
copy_page by 'faster_copy'       took 6008 cycles (648.9 MB/s)
copy_page by 'even_faster'       took 5995 cycles (650.2 MB/s)

Last but not least:
The noticed tdfx driver slowdown from 2.x over tdfx-3-5-branch to 
tdfx-4-0-branch (current trunk) is Mesa related like Keith told me.

Regards,
        Dieter

-- 
Dieter N�tzel
Graduate Student, Computer Science

University of Hamburg
Department of Computer Science
@home: [EMAIL PROTECTED]

_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to