From: Dieter <Die...@ha...> - 2002-03-13 18:53:05
|
On Mittwoch, 13. März 2002 13:17:13, Klaus Niederkrueger wrote: > > > But then I went a step further and compiled the view-perf with the > > > switches "-DMP" and "-lpthread", which seem to enable threads. > > > While all other tests work (as far as I can tell), DRV crashes now. In > > > Software-mode I get a segmentation fault and in hardware mode it says > > > "RadeonSwapBuffers error: some number". > > > > > > Can anybody reproduce these problems? > > > > I will, but how have you solved the problem below? > > > > cc -o viewperf objs/Env.o objs/clock.o objs/texture.o objs/viewperf.o > > objs/eD.o objs/eI.o objs/eDM.o objs/eIM.o objs/eDA.o objs/eIA.o > > objs/eDMA.o objs/eIMA.o objs/eDW.o objs/eIW.o objs/eDMW.o objs/eIMW.o > > objs/eDAW.o objs/eIAW.o objs/eDMAW.o objs/eIMAW.o -L/usr/X11R6/lib -Lobjs > > -Lvpaux/libaux -Lvpaux/libtk -L/usr/lib -L/usr/lib -lvp -lm -lX11 -lXext > > -laux -lGL -lGLU -lz -lpng -lpthread > > objs/viewperf.o: In function `parse_args': > > objs/viewperf.o(.text+0x7af7): undefined reference to `GetNumProcessors' > > collect2: ld returned 1 exit status > > make: *** [viewperf] Error 1 > > > > `GetNumProcessors' is NOT defined in EnvLINUX.c. > I used the standard "Makefile" in "src/". Me, too. make -f makefile.linux is enough. > To be able to compile anything > at all I had to add "-I/usr/X11/lib". I didn't need that due to LSB. > For multithreading I added > somewhere (I think in "DEFINES=.." the "-DMP" and for the libraries I > added the "-pthread"). ditto > I don't know what else could be relevant. Maybe > that the sources of viewperf I'm using are maybe three month old, so that > there could be a newer version. Also I'm compiling under Suse 7.3. I think my is much older, but 6.1.2 anyway;-) > I did not experience these compile-errors. I had to add the below few lines to EnvLINUX.c as someone pointed out, yesterday. Then all is smooth. /****************************************************************************** * * GetNumProcessors - return number of processor on system * * Description: * For MP execution, then number of processors is used for identification of * of the number of graphics threads to exploit. * * Returns: * integet number of processors * * Side Effects: * none * * Errors: * no errors, if function fails the string 1 is returned * * Revision History: * Initial Release * *****************************************************************************/ int GetNumProcessors() { return (1); } It gave no performance increase because I have a single CPU system but I am running lastest O(1) and preemption stuff. So it is even so _NOT_ slower. And my Athlon XP/MP is still around...;-) Thanks to all who answered. -Dieter |