Re: [Dri-devel] DRI on mach64

2002-01-12 Thread Manuel Teira

El Sáb 12 Ene 2002 18:04, David Goodyear escribió:
 Hi all,


Hello.

 I finally have DRI running with an ati rage mobility mach64 based card.  I
 have run the glxgears benchmark with and without DRI.  It seems that there
 is a huge increase in fps ie without dri 60-70 fps and with dri 200-230
 fps. However, I have no ability to change AGPMode.  Is this option
 available for mach64?

The driver is not using AGP memory at this stage AFAIK. So, no matter what
AGPMode are you saying in the conf file.

 Additionally, it seems that I cannot run in either
 mode except 800x600 and 640x480.  Is it possible to run at 1024x768?  I
 have tried but no luck.  glxinfo says dri is not running and you can easily
 tell this from the output of  glxgears.  My card has 4mb ram and I could
 run gl stuff no problem using utah-glx but it was no where near as stable
 as the DRI stuff.
What is the X log file saying you? I think that you've not enough memory for
DRI at 1024x768x16. Anyway I think that 3D at 1024x768 is too much for the
old Mach64.



--
Manuel Teira


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



Re: [Dri-devel] DRI on mach64

2002-01-12 Thread Manuel Teira

El Dom 13 Ene 2002 01:10, [EMAIL PROTECTED] escribió:
  El Sáb 12 Ene 2002 18:04, David Goodyear wrote:
   I finally have DRI running with an ati rage mobility mach64 based card.
I have run the glxgears benchmark with and without DRI.  It seems that
   there is a huge increase in fps ie without dri 60-70 fps and with dri
   200-230 fps. [also can't run 1024x786]

 On Sat, Jan 12, 2002 at 08:27:30PM +0100, Manuel Teira wrote:
  What is the X log file saying you? I think that you've not enough memory
  for DRI at 1024x768x16.
 
  Anyway I think that 3D at 1024x768 is too much for the
  old Mach64.

 It's not.  I'm running with 8MB, and the mach64 branch runs 1024x768 fine.

But, are you able to play Quake3 decently at 1024x768 with your mach64?
That's what I wanted to mean, perhaps it's too work for our little rage.



--
Manuel Teira


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



[Dri-devel] Mach64 DMA

2002-01-07 Thread Manuel Teira

Hello again. First of all, happy new year to everybody.

Well, after the holidays, I would like to recover the development in the 
mach64 branch. I started today to investigate the DMA stuff because I think 
that perhaps Frank is very busy and he has no time to do this work. The DMA 
problem was discovered aprox. Oct 21th and we have no news about any progress 
in  DMA. I'm sure  that Frank would do it better than me, but I can try.

And now, the questions:

I've been looking at the r128 freelist implementation, so I've derived that 
the register called R128_LAST_DISPATCH_REG (actually R128_GUI_SCRATCH_REG1) 
is used to store the age of the last discarded buffer. So, the 
r128_freelist_get is able to wait for a discarded buffer if there's no free 
buffer available.

Could this be made in the mach64 driver, say with MACH64_SCRATCH_REG1 ? In my 
register reference it says that these registers can be for exchanging 
information between the BIOS and card drivers, so, is sane to use them for 
this task?

I've also seen that there's no r128_freelist_put (it's present in mga driver, 
for example). Isn't it necessary? 

And, when is a buffer supposed to be discarded. Is this situation produced in 
the client side?


Best regards.

--
Manuel Teira


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



Re: [Dri-devel] Mach64 driver

2001-12-11 Thread Manuel Teira

El Mar 11 Dic 2001 15:51, Michael Thaler escribió:
 On Tue, Dec 11, 2001 at 12:45:59PM +, Jose Fonseca wrote:
  Me neither. That's not a problem, just login as anonymous:
 
  cvs -d:pserver:[EMAIL PROTECTED]:/cvsroot/dri login
 
  Press enter for password and then
 
  cvs -z3 -d:pserver:[EMAIL PROTECTED]:/cvsroot/dri co -r
  mach64-0-0-2-branch xc

 I start to feel really stupid. I tryed it again and again I got
 errors. I followed your instructions and did:

 mkdir DRI-CVS
 cd DRI-CVS
 cvs -d:pserver:[EMAIL PROTECTED]:/cvsroot/dri login
 cvs -z3 -d:pserver:[EMAIL PROTECTED]:/cvsroot/dri co
 -r mach64-0-0-2-branch xc
 ln -s xc XFree40
 mkdir build
 cd build
 lndir -silent -ignorelinks ../XFree40
 cd ~/DRI-CVS/build/xc/
 make World  World.LOG


 + gcc -o ./libGL.so.1.2~ -shared -Wl,-soname,libGL.so.1
 ../../../lib/GL/glx/clientattrib.o ../../../lib/GL/glx/compsize.o
 ../../../lib/GL/glx/dispatch.o ../../../lib/GL/glx/eval.o
 ../../../lib/GL/glx/glapinoop.o ../../../lib/GL/glx/glapi.o
 ../../../lib/GL/glx/glapi_x86.o ../../../lib/GL/glx/glthread.o
 ../../../lib/GL/glx/glxcmds.o ../../../lib/GL/glx/glxext.o
 ../../../lib/GL/glx/g_render.o ../../../lib/GL/glx/g_single.o
 ../../../lib/GL/glx/g_vendpriv.o ../../../lib/GL/glx/indirect_init.o
 ../../../lib/GL/glx/pixel.o ../../../lib/GL/glx/pixelstore.o
 ../../../lib/GL/glx/render2.o ../../../lib/GL/glx/renderpix.o
 ../../../lib/GL/glx/single2.o ../../../lib/GL/glx/singlepix.o
 ../../../lib/GL/glx/vertarr.o ../../../lib/GL/glx/xfont.o
 ../../../lib/GL/dri/XF86dri.o ../../../lib/GL/dri/dri_glx.o -lpthread
 -L../../../exports/lib -L/usr/X11R6-DRI/lib -lXext -lX11 -ldl -lc
 /usr/bin/ld: cannot find -lXext
 collect2: ld returned 1 exit status
 + rm -f libGL.so.1
 + ln -s libGL.so.1.2 libGL.so.1
 + rm -f ../../../exports/lib/libGL.so.1
 + cd ../../../exports/lib
 + ln -s ../../lib/GL/GL/libGL.so.1 .
 rm -f libGL.so.1.2
 mv -f libGL.so.1.2~ libGL.so.1.2
 mv: cannot stat `libGL.so.1.2~': No such file or directory
 make[5]: *** [libGL.so.1.2] Error 1

  I've checked and Xext is not built after all. It must be already
  available. For that you need to make the 'lndir' stuff _before_ building
  so that the linker finds it (note the -L/usr/X11R6-DRI/lib in the
  command line).

 How do I have to do that? I don't think that lndir'ing from /usr/X11R6
 to /usr/X11R6-DRI will do any good.

Xext is not builded in the DRI compilation process. This is because the dri
trunk (branch) is a stripped-out version of the XFree source code.
This is because you MUST lndir your existing XFree distro files to the
/usr/X11R6-DRI directory, where DRI compilation is trying to find the libs,
as you can read in the line:
... -L/usr/X11R6-DRI/lib -lXext ...
So, the first thing that you have to do is check if there is a libXext.so.*
in your /usr/X11R6-DRI/lib. If you have that library there, I don't
understand your problem, and in the other case, you know what to do now.

 As soon as I managed to compile this I will write a short compilation
 guide because I think the compilation guide on the webpage is really
 outdated and there are probably a lot of people who want to get the
 mach64 working.

I think that compiling the mach64 branch is as difficult as compiling another
branch or the trunk. All of them are stripped-source versions (I'm not sure
now about the mach64-0-0-1, perhaps this was a complete X source tree ) and
you need an starting XFree install.

Best regards.

--
M. Teira

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



Re: [Dri-devel] First experience with binary shapshot

2001-12-06 Thread Manuel Teira

El Mié 05 Dic 2001 15:02, escribiste:
 Sergey V. Udaltsov wrote:
 Hi all
 
 Thanks to Jose, I got some binary stuff to test:
 
 lib/modules/2.4.9-13/kernel/drivers/char/drm/mach64.o
 usr/X11R6/lib/modules/drivers/ati_drv.o
 usr/X11R6/lib/modules/drivers/atimisc_drv.o
 usr/X11R6/lib/modules/drivers/r128_drv.o
 usr/X11R6/lib/modules/drivers/radeon_drv.o
 
 But I did not have much success:
 1. The kernel module loaded perfectly. No complains.
 2. The driver uses ABI v 5 but XFree 4.1.0 gives ABI version 4. First

 I had a similar problem until recognizing that I alwas started the old
 X-Server with the new modules because I just edited the
 /etc/X11/XF86Config file. Try to start e.g. /usr/X11R6-DRI/bin/XFree86
 explictly...
 Just a thought ;-)

 BTW my X-Server is running now but I get strange authentification failures:
 the DRM module isn't allowed to write to X while I'm not logged in as root.
 kdm also fails on startup with XDM-AUTHENTIFICATION failure
 Does anybody know how to fix this quick ( I haven't had time yet to read
 something about that issue )

 --Andreas Karrenbauer

 PS: Because of a new job I haven't had much time the past month, but
 congratulations to Manuel Teira. He's done very well. I'm listening to
 the list and hope to find time to contribute in any way

Thank you, Andreas. It's nice to hear about you again. I think we're on the
way for an stable DRI support for our Mach64 cards.

What I use to do for testing the unstable driver is using a different init
script for the DRI XServer. Something like:

#!/bin/bash
export LD_LIBRARY_PATH=/usr/X11R6-DRI/lib
xinit /home/mteira/bin/xinitdri -- /usr/X11R6-DRI/bin/XFree86

I call this script: XDRI.sh

And  /home/mteira/bin/xinitdri is just an .xinitrc init script for starting
the window manager, something like:

#!/bin/bash
WMANAGER=wmaker
xmodmap ~/.Xmodmap
xrdb ~/.Xresources
if [$WMANAGER = wmaker \
-o $WMANAGER = icewm \
-o $WMANAGER = blackbox \
-o $WMANAGER = pwm ]; then
xconsole -bg black -fg green -geometry 600x150+0+0 -fn 6x10 -file
/dev/xconsole 
aterm -geometry 80x24+0+180 -sl 500 -bg black -fg yellow -fn fixed 
fi
exec $WMANAGER

In this way, I have a different window manager (WindowMaker) for my 3D tests,
than the one I have for my everyday work (KDE).


BTW, Leif, have you investigated any further on the VT change locks. Perhaps
we have forgot to lock some other function...

And Frank. when do you estimate we could play with your DMA code?

Sorry, but I've been busy at work lately and also thought that it would be
better for me to keep my strength  for the new DMA code.

Go on, Frank!  ;-)


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



Re: [Dri-devel] Mach64 locking on mode switches

2001-10-28 Thread Manuel Teira

El Dom 28 Oct 2001 00:10, Leif Delgass escribió:
 On Sat, 27 Oct 2001, Manuel Teira wrote:
  El Sáb 27 Oct 2001 21:40, Leif Delgass escribió:
   On Sat, 27 Oct 2001, Manuel Teira wrote:
El Sáb 27 Oct 2001 19:49, Leif Delgass escribió:
 Well, I just got my box to hang hard (like with the vt switching)
 when running tuxracer and switching modes with Ctrl-Alt-+ (I have 3
 modes defined in my config and the hang happened when looping back
 to the original mode, i.e. the third switch), so I think the
 answer is yes, it needs locking.  I really should use a journalling
 filesystem, all this fsck-ing is getting a bit tedious. ;)
   
OK. I have added the DRILock/Unlock to the AtiModeSet function in the
atimode.c file. I've added another condition (also to the locks in
the aticonsole.c file for vt changing) in this way:
  
   It looks like ATIEnter/LeaveVT calls ATIEnter/LeaveGraphics, which in
   turn calls ATIModeSet.  Won't this lead to trying to obtain a lock when
   the lock is already secured?  It might be better to put the lock in
   aticonsole.c in the ATIModeSwitch function.
 
  You are right, I was deadlocking the server. Anyway, the idea is that
  ATIModeSet has to Lock and Unlock, but ATIEnterVT(LeaveVT) has only to
  Unlock(Lock) the DRM. We could Lock/Unlock  in  ATISwitchMode, but I
  think that we are locking more that needed, because the ATIModeCalculate
  that is also called from ATISwitchMode doesn't need to be locked.
 
  I think that the better way to do this is:
 
  ATIEnterVT: Unlock  at the end of the Function (to avoid interlocks)

Well, here I wanted to say 'at the beginning of the Function'. Sorry.

  ATILeaveVT: Lock at the end of the Function (to avoid interlocks)
  ATIModeSet: Lock at the beginning and Unlock at the end.
 
  What do you thing about this?

 Well, let's look at the sequence assuming what you suggest.  This is as
 much for me to get it straight in my head as anything else...

 Xserver is running.  We switch to text mode:

 1. ATILeaveVT is called, which calls ATILeaveGraphics
 2.ATIModeSave
 3.ATIModeSet (DRILock,DRIUnlock)
 4.ATILock, return from ATILeaveGraphics
 5. DRILock

 I'm not sure it's worth unlocking just to lock again here.

 Text mode is running.  We switch to graphics mode:

 1. ATIEnterVT is called, which calls ATIEnterGraphics
 2.ATIUnlock
 3.ATIModeCalculate
 4.ATIModeSave
 5.ATIModeSet (DRILock,DRIUnlock), return from ATIEnterGraphics
 Oops!, at this point we still hold the DRILock, so again we'll be trying
 to lock twice, right?
 6. DRIUnlock
 Here we've already unlocked.
Yes, you're right. Too late to think yesterday.

 Well, we could unlock at the _beginning_ of ATIEnterVT, but here's what I
 would suggest...

 Don't do locking/unlocking in ATIModeSet, but do the locking in the three
 functions in aticonsole.c:

 ATILeaveVT()
 1. DRILock, then call ATILeaveGraphics
 2.  ATIModeSave
 3.  ATIModeSet (ok, we've got the lock already)
 4.  ATILock, return from ATILeaveGraphics
 5. return

 ATIEnterVT()
 1. call ATIEnterGraphics
 2.  ATIUnlock
 3.  ATIModeCalculate
 4.  ATIModeSave
 5.  ATIModeSet (we still hold the DRILock), return
 6. DRIUnlock, return

 ATISwitchMode()
 1. ATIModeCalculate
 2. DRILock
 3. ATIModeSet
 4. DRIUnlock, return


At a first glance, it looks that this aproximation is the best. The idea is
use for the locking the upper functions to avoid interlock problems. We do
not want to use our locks from 2 levels of functions. In this way, I think
there is no problem.

 Here you can still avoid locking until after the mode calculate.  Also
 ATIModeSet is called by ATIClockPreInit, and I don't think DRI locking is
 necessary at that point (in fact, I think it happens before the DRI
 initialization?). Of course, this is my high-level view (I haven't
 followed all the code in the sequence in detail) and I could be missing
 something.  I'm also not sure exactly _where_ the lockup happens and so
 I'm not sure how fine grained the locking can get.  What do you think?

My idea is that we don't need more detail. We just need to lock when a mode
change is made (both for going to text mode or changing the screen mode) and
that changes are made with the API defined in aticonsole.c.

snip src=from your other mail

OK, I actually looked at the definition of DRILock/DRIUnlock
(programs/Xserver/GL/dri/dri.c), and it does reference counting, so
locking twice might not be an issue, it just increments the reference
count.  What I haven't found yet is where the DRM_LOCK/DRM_UNLOCK macros
used in DRILock/DRIUnlock are defined, and I'm not sure how contention is
handled either.  So I'm going to try and get a better idea of how the
locking is actually implemented, and hopefully I know what I'm talking
about next time.

/snip

I still think that we should avoid more than one consecutive locks. It has
nonsense from my point of view, at least in this case. The
DRM_LOCK

Re: [Dri-devel] Mach64 locking on mode switches

2001-10-28 Thread Manuel Teira

El Dom 28 Oct 2001 19:17, Leif Delgass escribió:

snip

 OK.  I did test it out doing it in the way I suggested, but I'm still
 getting a lockup.  I was thinking of compiling with the debugging macros
 turned on to get a better idea of where the problem is.  Since the problem
 doesn't seem to happen with gears, I wonder if there's something in the
 mesa code that isn't locking properly.

Have in mind that the Mesa layer is now writing directly to the registers.
Are this direct writes locked in all the Mesa lib? For example, and at a
first glance, the function:

mach64UploadHwStateLocked @ mach64_ioctl.c

is making WRITE access to the card without calling LOCK_HARDWARE. Perhaps
this funcion is called from another place were the lock takes place, I don't
know. Anyway, when the DMA work takes shape on the Mesa layer, the places
where the lock is needed will be less than now (I think), only when the DMA
buffers are flushed via a BusMaster operation.
So, I think that we must not worry about the interlock while the DMA work is
not finished.

Frank, how is it going? Any news?

Well, I've just commited the changes to the CVS. The Sunday is finishing and
a new week of hard work is beginning :-( . At least here in Spain the week is
shorter (it's only 4 work days). ;-)

Best regards.

--
Manuel Teira



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



Re: [Dri-devel] Mach64: vt switching

2001-10-27 Thread Manuel Teira

El Vie 26 Oct 2001 22:11, Leif Delgass escribió:
 Manuel, the hang when switching back from a vt to X with Quake running
 hangs both in fullscreen and windowed mode (other GL apps like gears don't
 exhibit this problem, although there is initially some garbage at the top
 of the screen when returning to X).  I'm sure you're right that it has to
 do with the locking (or lack thereof) in the enter/leaveVT.  And with that
 I'm heading out, I'll try to do some more investigation tommorow...

Well. I've written a pair of macros to interlock drm and Xdriver and used it
in all the accelerated access from the XDriver. I've also used the
DRILock/DRIUnlock API to lock the ATILeaveVT and ATIEnterVT in the
aticonsole.c file. After this, we cannot enable 2D accelerated rendering yet,
because the drm and mesa sides are not honouring this interlocking. This
should be made when Frank has  the new DMA API finished, because the points
to lock will be less than now (I suppose that we only will need to lock the
actual DMA transfers) because the DMAOUTREG is only going to append the
register writes to a DMA buffer. So, I suppose that the EnterVT/LeaveVT bug
is still here, because of a non locking DRM.

Anyway, I tried to reenable 2D acceleration and run gears. The engine locked
after trying to close gears, but the cursor still worked.

My idea is updating the branch with this changes (still without reenabling
the 2D acceleration) and Leif ones for the AGP corrections. Leif, I've
(#ifdef)ed the AGP code as you told me, but I think that your host.def
changes are good for the mach64 branch (disabling the Glide dependencies and
enabling builds of DRM drivers) and I plan update it too.

Another secondary issue: I'm still have a problem compiling the branch: The
xf86cfg directory in programs/Xserver/hw/xfree86 needs a lot of shared
libraries and I think that there is no need to build this utilities in the
DRI context. So, I'm also going to add another change to the host.def file:

-#define BuildXFree86ConfigTools YES
+#define BuildXFree86ConfigTools NO

In this way, the Imakefile in programs/Xserver/hw/xfree86 will disable this
tools build:
...
#if !BuildServersOnly || BuildXFree86ConfigTools
XF86CFGDIRS = xf86cfg xf86config
#endif
...

and we will need less libraries.

Finally, and to accelerate the build, the line:

#define XF86CardDrivers tdfx i810 mga ati glint vga

should be:

#define XF86CardDrivers ati

And perhaps:

#define XFree86CustomVersion DRI trunk

should be replaced by:

#define XFree86CustomVersion DRI mach64 branch


Do you agree ?


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



Re: [Dri-devel] Mach64 2D driver

2001-10-27 Thread Manuel Teira

El Sáb 27 Oct 2001 16:08, Michel Dänzer escribió:
 Hi everybody working on the Mach64 driver,


 I think it's really important for you to get in touch with the 2D driver
 maintainer, Marc Aurele La France [EMAIL PROTECTED]. First because he is
 the single most competent person about the 2D driver and probably about
 the Mach chips in general, second because he doesn't like other people
 messing with his code. ;)

Thanks Michel, for the advise. I thing that the best is wait for Frank to
finish the DRM DMA API and then see if the locking is working fine. After
this, we could present and explain to Marc Aurele the changes we have made to
know his opinion about them. Anyway the changes in the 2D code are very few:

1.-Avoid changes in the GUI_CNTL for the fifo depth. Perhaps we could notify
this issue to Marc and try to find another solution.

2.-Make the 2D accelerated functions honour the DRM locks. This is still work
in progress and I think that we must wait after checking this code to disturb
Marc about it.

3.-Make the LeaveVT and EnterVT honour the DRM locks. The same than the
previous point.

I think that there were no more changes but the initialization  for DRI
written by Gareth (that are new and not written by Marc) and the hacks
disabling 2D acceleration that I hope we will be able to remove in short.

Regards.
--

Manuel Teira

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



Re: [Dri-devel] Mach64: locking, patch

2001-10-27 Thread Manuel Teira

El Sáb 27 Oct 2001 18:49, Leif Delgass escribió:
 First off, I messed up on the FIFO size defines in mach64_drv.h (drm
 kernel module), they should be:

 #   define MACH64_CMDFIFO_SIZE_MASK 0x0003ul
 #   define MACH64_CMDFIFO_SIZE_192  0xul
 #   define MACH64_CMDFIFO_SIZE_128  0x0001ul
 #   define MACH64_CMDFIFO_SIZE_64   0x0002ul

 I was mixing up my hex and binary, yikes! (at least 1 is always 1 so no
 harm done) Embarassing.  Don't drink and code.  Anyway...

:-)
Fixed.


   Well. I've written a pair of macros to interlock drm and Xdriver and
   used it in all the accelerated access from the XDriver. I've also used
   the DRILock/DRIUnlock API to lock the ATILeaveVT and ATIEnterVT in the
   aticonsole.c file. After this, we cannot enable 2D accelerated
   rendering yet, because the drm and mesa sides are not honouring this
   interlocking. This should be made when Frank has  the new DMA API
   finished, because the points to lock will be less than now (I suppose
   that we only will need to lock the actual DMA transfers) because the
   DMAOUTREG is only going to append the register writes to a DMA buffer.
   So, I suppose that the EnterVT/LeaveVT bug is still here, because of a
   non locking DRM.

 What about mode switches?  The mga and i810 drivers use DRILock/DRIUnlock
 in the ModeInit functions, and the r128/radeon drivers have a comment that
 says:

 /* FIXME?  DRILock/DRIUnlock here? */

I don't know if it's necessary. Perhaps we could try to change the screen
mode while running gears or Quake3. If the machine locks, then, it'll be
necessary. ;-)

   Anyway, I tried to reenable 2D acceleration and run gears. The engine
   locked after trying to close gears, but the cursor still worked.
  
   My idea is updating the branch with this changes (still without
   reenabling the 2D acceleration) and Leif ones for the AGP corrections.
   Leif, I've (#ifdef)ed the AGP code as you told me, but I think that
   your host.def changes are good for the mach64 branch (disabling the
   Glide dependencies and enabling builds of DRM drivers) and I plan
   update it too.
  
   Another secondary issue: I'm still have a problem compiling the branch:
   The xf86cfg directory in programs/Xserver/hw/xfree86 needs a lot of
   shared libraries and I think that there is no need to build this
   utilities in the DRI context. So, I'm also going to add another change
   to the host.def file:
  
   -#define BuildXFree86ConfigTools YES
   +#define BuildXFree86ConfigTools NO
  
   In this way, the Imakefile in programs/Xserver/hw/xfree86 will disable
   this tools build:
   ...
   #if !BuildServersOnly || BuildXFree86ConfigTools
   XF86CFGDIRS = xf86cfg xf86config
   #endif
   ...
  
   and we will need less libraries.
  
   Finally, and to accelerate the build, the line:
  
   #define XF86CardDrivers tdfx i810 mga ati glint vga
  
   should be:
  
   #define XF86CardDrivers ati
  
   And perhaps:
  
   #define XFree86CustomVersion DRI trunk
  
   should be replaced by:
  
   #define XFree86CustomVersion DRI mach64 branch
  
  
   Do you agree ?

 I think these changes are fine for the branch, it should speed up the
 build.  We'll just need to make sure not to merge them to the trunk when
 the time comes.
Well, I think that we (or whoever that do it) don't even try to merge our
host.def to the main trunk, it has nosense.

I think that I will update the CVS branch this night. There aren't very
important changes, but I think that it's better to have the branch as updated
as possible.

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



Re: [Dri-devel] Mach64 locking on mode switches

2001-10-27 Thread Manuel Teira

El Sáb 27 Oct 2001 19:49, Leif Delgass escribió:
 Well, I just got my box to hang hard (like with the vt switching) when
 running tuxracer and switching modes with Ctrl-Alt-+ (I have 3 modes
 defined in my config and the hang happened when looping back to the
 original mode, i.e. the third switch), so I think the
 answer is yes, it needs locking.  I really should use a journalling
 filesystem, all this fsck-ing is getting a bit tedious. ;)


OK. I have added the DRILock/Unlock to the AtiModeSet function in the
atimode.c file. I've added another condition (also to the locks in the
aticonsole.c file for vt changing) in this way:

#ifdef XF86DRI
if (pATI-Chip = ATI_CHIP_264GT 
pATI-directRenderingEnabled)
{
DRILock(pScreen,0);
}
#endif
...
#ifdef XF86DRI
if (pATI-Chip = ATI_CHIP_264GT 
pATI-directRenderingEnabled)
{
DRIUnlock(pScreen);
}
#endif


I think this is a better way because the code in aticonsole.c and atimode.c
is generic for all the ATI adapters, so we are restricting the checking to
the Mach64 chips greater than the GT that is the first one (if I'm not
mistaken) supporting 3D.

I'm also changing the related macros for locking the 2D accelerated functions.





 --Leif

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



Re: [Dri-devel] Mach64 locking on mode switches

2001-10-27 Thread Manuel Teira

El Sáb 27 Oct 2001 21:40, Leif Delgass escribió:
 On Sat, 27 Oct 2001, Manuel Teira wrote:
  El Sáb 27 Oct 2001 19:49, Leif Delgass escribió:
   Well, I just got my box to hang hard (like with the vt switching) when
   running tuxracer and switching modes with Ctrl-Alt-+ (I have 3 modes
   defined in my config and the hang happened when looping back to the
   original mode, i.e. the third switch), so I think the
   answer is yes, it needs locking.  I really should use a journalling
   filesystem, all this fsck-ing is getting a bit tedious. ;)
 
  OK. I have added the DRILock/Unlock to the AtiModeSet function in the
  atimode.c file. I've added another condition (also to the locks in the
  aticonsole.c file for vt changing) in this way:

 It looks like ATIEnter/LeaveVT calls ATIEnter/LeaveGraphics, which in turn
 calls ATIModeSet.  Won't this lead to trying to obtain a lock when the
 lock is already secured?  It might be better to put the lock in
 aticonsole.c in the ATIModeSwitch function.

You are right, I was deadlocking the server. Anyway, the idea is that
ATIModeSet has to Lock and Unlock, but ATIEnterVT(LeaveVT) has only to
Unlock(Lock) the DRM. We could Lock/Unlock  in  ATISwitchMode, but I think
that we are locking more that needed, because the ATIModeCalculate that is
also called from ATISwitchMode doesn't need to be locked.

I think that the better way to do this is:

ATIEnterVT: Unlock  at the end of the Function (to avoid interlocks)
ATILeaveVT: Lock at the end of the Function (to avoid interlocks)
ATIModeSet: Lock at the beginning and Unlock at the end.

What do you thing about this?


 OK.  I'm attaching a small patch that defines and uses a convenience macro
 used by the other drm drivers (LOCK_TEST_WITH_RETURN).  We can use this
 when we add more ioctls.  The patch also includes the FIFO size defines,
 but you can just say no to that and delete the .rej file.
All right. I've commited the changes to the CVS branch yet, but I have to fix
the deadlock you've found, so, I'll also send the changes you've sent me.


 On a totally unrelated note, do you know how to get etags to index KR
 style functions like the ones in aticonsole.c?
No. Sorry.


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



[Dri-devel] Mach64: Questions about locking

2001-10-26 Thread Manuel Teira

Hello.

I was investigating on how to allow both 2D and 3D acceleration in the 
Mach64. So I'm a little confused:

First of all, I looked at the R128 and RADEON drivers and they are only doing 
a DRILock/DRIUnlock in the LeaveVT and EnterVT functions. Does this mean that 
those cards can do 3D and 2D operation at the same time? Then I looked a 
little in the mga 2D driver and a few more locking operations are showed. 
After this, I'm not sure about what we must interlock between 2D and 3D 
operation.

I would like to know what do you think about the following assumptions:
1.-The proper function to lock 3D operation from XFree is DRILock.

2.-We must lock all the operations in the 2D driver that tries:
Mach64WaitForIdle
Mach64WaitForFIFO
   to guarantee that the reached FIFO condition is true.

  This investigation shows me another funny thing:
When the 2D Xfree driver only has to make one register write, it doesn't try 
a Mach64WaitForFIFO. Is this correct? If the DRI driver was writing on the 
command FIFO, couldn't the 2D attempt to write on the FIFO fail ? On the 
other hand, when there are more than one register write, say N-register 
writes, the 2D driver makes a Mach64WaitForFIFO(N) before trying to write to 
the registers.


Is there any other 2D operation that we should need to lock? What criteria 
must I follow to make this the right way? I suppose that I don't need to lock 
any register write, but I'm not sure, because the FIFO could get full while 
I'm writing from the 2D driver. 

I will keep looking to the other drivers, but I would like to have others 
opinions.

On the MESA side, it looks that the hardware locking is already implemented 
through the functions LOCK_HARDWARE and UNLOCK_HARDWARE. 


Best regards.

--
Manuel Teira



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



Re: [Dri-devel] Mach64: Questions about locking

2001-10-26 Thread Manuel Teira

El Vie 26 Oct 2001 20:21, Leif Delgass escribió:
 I haven't done an extensive look at this, but I've noticed a couple of
 things.  The 2D driver seems to use a caching scheme for register writes.
 Also, at one point I had a nasty lockup trying to switch to a vt from
 fullscreen quake, but I haven't tried it with my latest build yet.  I've
 noticed other drivers have a fullscreen ioctl, but the mach64 currently
 does not.  It seems that once we have the DMA interface defined, we'll
 want the 2D acceleration to use that as well as the locking scheme, right?
 Frank, any progress there?

I have been looking to the register caching. I don't know if this caching has
sense once the DRI is also writing directly to some of the registers. I saw
seldom times this in my XFree log file:
.. $REGISTER_NAME write cache disabled!
this is written by the Mach64Sync function, that compares all the cached
register values with the actual values ( and shows that error when values
differ). I commented out the register caching when trying to find the DMA
problem (it's still commented out in the branch code). I've also noticed that
the other drivers (RADEON , R128) don't use the caching 'feature'.

I've also seen the outm/inm outf macros (atimach64io.h). These are the ones
that provides the cache features. I wonder if we should block the hardware
for any of these macros (to guarantee that the FIFO entries are true).
Anyway, I think that there are still race conditions, because this kind of
code:
...
ATIMach64WaitForFIFO(pATI, 6);
outf(SRC_OFF_PITCH, pATIHW-src_off_pitch);
outf(SRC_Y_X, SetWord(pATIHW-src_x, 1) | SetWord(pATIHW-src_y, 0));
outf(SRC_HEIGHT1_WIDTH1,
 SetWord(pATIHW-src_width1, 1) | SetWord(pATIHW-src_height1, 0));
outf(SRC_Y_X_START,
 SetWord(pATIHW-src_x_start, 1) | SetWord(pATIHW-src_y_start, 0));
outf(SRC_HEIGHT2_WIDTH2,
 SetWord(pATIHW-src_width2, 1) | SetWord(pATIHW-src_height2, 0));
outf(SRC_CNTL, pATIHW-src_cntl);
...

If we only block the ouf macros and the WaitForFIFO macro separately, we
cannot guarantee that there will be 6 free slots once the WaitForFIFO has
finished (because of the DRM).

So, what I think  we should do is:

1.- Block all the code that matches the previous template (mainly in
atimach64.c) , in this way:
DRILock( pScreenInfo-pScreen );
ATIMach64WaitForFIFO( pATI, n );
/*
 * Here the outf stuff
 */
DRIUnlock( pScreenInfo-pScreen );

2.-Disable the Register Caching for all the registers. Perhaps we could later
enable the caching for the registers that are not used by the drm driver.


Talking about the Q3 hang when switching vts:
I don't know if this is the problem, but the other drivers (RADEON, R128) has
a DRILock (DRIUnlock) calls when doing enterVT (leaveVT), that mach64 hasn't.
I will try to test this behaviour today (once I have  Q3  installed ;-) ).



 On another note, I'm attaching a small patch to fix a few things.

 1.  The AGP register setup was using the wrong macro, since the
 registers are in Block 1, it should be using outm() instead of outr().

 2.  I added some defines for the FIFO sizes in GUI_CNTL and moved the
 setup to do_dma_init instead of the busmaster test.

 3.  I did some general cleanup to fix a couple typos and quiet compiler
 warnings.

 4.  The DMA memory allocation used in the busmaster test uses the
 interface described in the kernel docs (Documentation/DMA-mapping.txt).
 The 2.4.13 kernel adds 64-bit DMA support, so if you have CONFIG_HIGHMEM
 defined, dma_addr_t is defined as u64.  The code was passing u32 handles
 to the allocation/free functions instead of dma_addr_t handles.  This bit
 me as I have CONFIG_HIGHMEM4G/CONFIG_HIGHMEM set for some reason (wishful
 thinking?).  I changed this and cast the returned handles to u32 to get
 addresses to pass to the card.  I think this is OK, since 32-bit DMA is
 assumed unless you use pci_set_dma_mask to indicate that the device can do
 64-bit.

 5.  You can ignore the changes in host.def, my .cvsignore wasn't working
 for some reason.

 Let me know if you see any problems with the patch and I'll try to take a
 look at the locking issues, but I think we need Frank's input there too.

At a first glance, it looks fine. I will apply it to the branch once that I
see that works fine on my machine.

--
Manuel Teira

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



Re: [Dri-devel] Mach64: mach64-0-0-2-branch created and updated

2001-10-22 Thread Manuel Teira

El Lun 22 Oct 2001 17:52, Malte Cornils escribió:
 Manuel Teira wrote:
  If you find any problem compiling the new branch, please make me know.

 OK, let me see. With regards to that libXau problem: it
 's sufficient to just copy /usr/X11R6/lib to /usr/X11R6-DRI/lib, the
 rest of the tree isn't necessary. Otherwise, I followed the DRI
 compilation guide under Documentation.

O.K. This is just a issue derived from the trimming of the DRI trunk, I hope.

 The build (or rather, the make install) failed until I removed tdfx
 from line 821 in file
 X11R6-DRI/build/xc/lib/GL/mesa/src/drv/Makefile.

Have you got errores related to the glide library?
Perhaps you should comment out the line:
#define HasGlide3 YES
in the host.def file.
Or perhaps would be good to comment it out in our mach64 branch.


 The instructions for making the nls stuff seem to be outdated, since
 there no longer is any xc/nls in CVS.

 taking /usr/X11R6-DRI/lib into ld.so.conf doesn
 't help for libGL and libGLU, since those already should exist from
 any previous X installation in /usr/lib, and /usr/lib is implicitly
 given preference over anything form ld.so.conf. I had to move the
 old ones away and symlink/copy over the new ones.
What I made for the tests was using:
export LD_PRELOAD=/usr/X11R6-DRI/lib/libGL.so

or

export LD_LIBRARY_PATH=/usr/X11R6-DRI/lib



 Unfortunately, I have a PCI Mach64; modprobe mach64 failed without a
 helpful error message since agpgart wasn
 't installed into the kernel. After modprobing agpgart, then
 modprobing mach64 (that last one is probably also handled
 automagically at X startup), glxinfo showed the valued Direct
 Rendering enabled. And it was; small differences in the display of
 3D apps showed that. However, performance was about as slow as
 software-rendering; at least for gltron, I got about the same
 average fps as with software mesa.

 That is probably due to my card not being an AGP variant (also my
 mainboard does have a - currently empty - AGP slot).

I don't know. We are not using any AGP feature just now. What processor does
your computer have? I'm getting about 215-220 fps in hw mode and no more than
100 (not exactly) in software mode.

 That
 's about it - I tested 3D with gears, gltron and blender and all
 worked with a few glitches (not important right now).

 So, I hope you'll find my report useful. It certainly was fun for
 me, believe it or not.

Thank you for your report.



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



Re: [Dri-devel] Mach64: Problems accessing CVS

2001-10-21 Thread Manuel Teira

El Dom 21 Oct 2001 16:30, Keith Whitwell escribió:
 Manuel Teira wrote:
  El Dom 21 Oct 2001 04:18, Daryll Strauss escribió:
   On Sat, Oct 20, 2001 at 07:49:56PM +0200, Manuel Teira wrote:
OK. Thank you for the clear explanation. Now I think I'm ready to put
the new branch in the repository. I'm waiting for the access, guys.
As soon as I have access (if i'ts not too late here in Spain) I will
proceed.
  
   Done
 
  Well, it was a little late. I'm trying now, but having problems:
 
  export CVSROOT=cvs.dri.sourceforge.net:/cvsroot/dri
  export CVS_RSH=ssh
 
  bash-2.05$ cvs rtag -b mach64-0-0-2-branch xc
  The authenticity of host 'cvs.dri.sourceforge.net (216.136.171.202)'
  can't be established.
  DSA key fingerprint is 02:ab:7c:aa:49:ed:0b:a8:50:13:10:c2:3e:92:0f:42.
  Are you sure you want to continue connecting (yes/no)? yes
  Warning: Permanently added 'cvs.dri.sourceforge.net,216.136.171.202'
  (DSA) to the list of known hosts.
  [EMAIL PROTECTED]'s password: **
  Could not chdir to home directory /home/users/m/mt/mteira: No such file
  or directory
  cvs [server aborted]: can't chdir(/home/users/m/mt/mteira): No such file
  or directory
  bash-2.05$
 
  Have I made any mistake or missed anything? It seems some kind of server
  problem, doesn't it?

 You probably need to checkout a fresh tree with your new cvsroot.  The Root
 file in CVS/ directories overrides the environment variable from memory so
 you want to get a new tree with the correct Root files.

I've tried to make a checkout and the same error pops. Anyway, I don't need
to checkout the tree to make an rtag, do I? I will do the checkout once the
rtag is made, then I'll made the checkout of the new created branch, apply
the patch and commit the changes. Why shoud I need to checkout the trunk
before rtagging it to the new branch?

M. Teira

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



Re: [Dri-devel] Mach64: Problems accessing CVS

2001-10-21 Thread Manuel Teira

El Dom 21 Oct 2001 16:56, Michel Dänzer escribió:
 On Sun, 2001-10-21 at 12:43, Manuel Teira wrote:
  El Dom 21 Oct 2001 04:18, Daryll Strauss escribió:
   On Sat, Oct 20, 2001 at 07:49:56PM +0200, Manuel Teira wrote:
OK. Thank you for the clear explanation. Now I think I'm ready to put
the new branch in the repository. I'm waiting for the access, guys.
As soon as I have access (if i'ts not too late here in Spain) I will
proceed.
  
   Done
 
  Well, it was a little late. I'm trying now, but having problems:
 
  export CVSROOT=cvs.dri.sourceforge.net:/cvsroot/dri
  export CVS_RSH=ssh
 
  bash-2.05$ cvs rtag -b mach64-0-0-2-branch xc
  The authenticity of host 'cvs.dri.sourceforge.net (216.136.171.202)'
  can't be established.
  DSA key fingerprint is 02:ab:7c:aa:49:ed:0b:a8:50:13:10:c2:3e:92:0f:42.
  Are you sure you want to continue connecting (yes/no)? yes
  Warning: Permanently added 'cvs.dri.sourceforge.net,216.136.171.202'
  (DSA) to the list of known hosts.
  [EMAIL PROTECTED]'s password: **
  Could not chdir to home directory /home/users/m/mt/mteira: No such file
  or directory
  cvs [server aborted]: can't chdir(/home/users/m/mt/mteira): No such file
  or directory
  bash-2.05$
 
  Have I made any mistake or missed anything? It seems some kind of server
  problem, doesn't it?

 Try again later, administrative changes on SourceForge can take a while
 to propagate.

O.K. I'll try later.

 Keep Keith's point in mind as well, though it looks to me it was using
 the correct CVS root.

So, are you saying too that I need to checkout the trunk before rtagging ?

--
M. Teira


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



Re: [Dri-devel] Mach64: Problems accessing CVS

2001-10-21 Thread Manuel Teira

El Dom 21 Oct 2001 17:56, R C escribió:

  Well, it was a little late. I'm trying now, but having problems:
 
  export CVSROOT=cvs.dri.sourceforge.net:/cvsroot/dri
  export CVS_RSH=ssh
 
  bash-2.05$ cvs rtag -b mach64-0-0-2-branch xc
  The authenticity of host 'cvs.dri.sourceforge.net (216.136.171.202)'
  can't be established.
  DSA key fingerprint is 02:ab:7c:aa:49:ed:0b:a8:50:13:10:c2:3e:92:0f:42.
  Are you sure you want to continue connecting (yes/no)? yes
  Warning: Permanently added 'cvs.dri.sourceforge.net,216.136.171.202'
  (DSA) to the list of known hosts.
  [EMAIL PROTECTED]'s password: **
  Could not chdir to home directory /home/users/m/mt/mteira: No such file
  or directory

 I had same problem with gatos dev tree. Workaround is to abort after
 that error message, change to the subdir generated, then run cvs update.
 It still complains then, but it at least works.

 R C

I've test your method, but it is still failing with the same error. I've ssh
login to dri.sourceforge.net with my account and that directory exists:
mteira@usw-pr-shell2:~$ pwd
/home/users/m/mt/mteira
mteira@usw-pr-shell2:~$

 I don't know what to do. Could it be a problem of updating? Or a problem of
permisions?

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



Re: [Dri-devel] Mach64: Problems accessing CVS

2001-10-21 Thread Manuel Teira

El Dom 21 Oct 2001 18:56, [EMAIL PROTECTED] escribió:
 On Sun, 21 Oct 2001, Manuel Teira wrote:
  El Dom 21 Oct 2001 17:56, R C escribió:
Well, it was a little late. I'm trying now, but having problems:
   
export CVSROOT=cvs.dri.sourceforge.net:/cvsroot/dri
export CVS_RSH=ssh
   
bash-2.05$ cvs rtag -b mach64-0-0-2-branch xc
The authenticity of host 'cvs.dri.sourceforge.net (216.136.171.202)'
can't be established.
DSA key fingerprint is
02:ab:7c:aa:49:ed:0b:a8:50:13:10:c2:3e:92:0f:42. Are you sure you
want to continue connecting (yes/no)? yes
Warning: Permanently added 'cvs.dri.sourceforge.net,216.136.171.202'
(DSA) to the list of known hosts.
[EMAIL PROTECTED]'s password: **
Could not chdir to home directory /home/users/m/mt/mteira: No such
file or directory
  
   I had same problem with gatos dev tree. Workaround is to abort after
   that error message, change to the subdir generated, then run cvs
   update. It still complains then, but it at least works.
  
   R C
 
  I've test your method, but it is still failing with the same error. I've
  ssh login to dri.sourceforge.net with my account and that directory
  exists: mteira@usw-pr-shell2:~$ pwd
  /home/users/m/mt/mteira
  mteira@usw-pr-shell2:~$
 
   I don't know what to do. Could it be a problem of updating? Or a problem
  of permisions?

 Try doing ssh to cvs.dri.sourceforge.net. This happens because your home
 directory there is different. (Probably you never used sourceforge cvs
 before as developer). Read instructions/FAQ on how to use sourceforge on
 www.sf.net

Thank you. This was the solution. I was loggin to a wrong host
(dri.sourceforge.net) and my login account was not created. Now, I've just
tagged the new branch. Now I'm going to make the checkout of the new branch
and committing the changes.

Thank all you for your help and excuse me for bugging you with this questions
(RTFM would be enough ;-)  ).

Best regards.
--
M. Teira


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



Re: [Dri-devel] Mach64: BusMastering test seems to work

2001-10-20 Thread Manuel Teira

El Sáb 20 Oct 2001 02:49, Keith Whitwell escribió:
 On Fri, 19 Oct 2001 17:24, Leif Delgass wrote:
  Great work!  I'll check this out soon.
 
  Once we get DMA working for the 3D operations, I guess the next task is
  to get the 2D acceleration routines synchronizing with the 3D ones so we
  can reenable XAA, right?  Also, it looks as if the AGP setup has not been
  finished yet.  At this point, atidri.c allocates 8M (hardcoded value, but
  the agpgart module tells me I have a 64M AGP aperture) and maps 2M of it
  for vertex buffers, but it never sets AGP_BASE or AGP_CNTL.  There's
  currently no allocation of an AGP region for textures.  I'm seeing
  problems with missing textures in the Quake 3 demo and some other GL
  apps.
 
  It's great to get past this hurdle, maybe we can get a new CVS branch
  going soon!

 Who would need cvs access?  It's time this work got some support...

Well. I think we must put this work into CVS ASAP, so everybody could begin
to contribute with all the work that has been unlocked.

I don't mind doing this work, but I only have a 56K modem connection and
never have worked with CVS (could be this is time to learn), only have made
some checkouts.

Now, that we have find the problem (I'd better say the cause), I want to say
that I also commented out a section in the 2D init driver:
 if (pATI-Chip = ATI_CHIP_264VT4)
 {
 outm(GUI_CNTL, pATIHW-gui_cntl);
 pATI-nAvailableFIFOEntries = 0;
 ATIMach64PollEngineStatus(pATI);
 }
This code was updating the GUI_CNTL value, found to be zero for
Chip=ATI_CHIP_264VT4.

Anyway, why is this happening? Is it a card bug? In the register document the
00 value for this register is documented and valid (as the max FIFO length
value).


Well, talking about CVS. What do you think is better? I would made the update
in the CVS if you give me access. It could be nice if someone gives me a
little recipe to made the upgrade without problems, or at least, recommend
some guide about CVS.

--
M. Teira

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



Re: [Dri-devel] Mach64: Patch to initialize AGP registers

2001-10-20 Thread Manuel Teira

El Sáb 20 Oct 2001 18:02, Frank C. Earl escribió:


 We can work on parts of it.  If you want to do the DMA part (and I won't
 stop you from it- having said this, I can do that part as well...), we
 ought to come up with some agreed upon code interfaces to it so that
 someone else can be plugging away with the Mesa end of things.

I think it would be better that you started this task. I don't feel so
optimist as yesterday, when the DMA started to work. ;-)

I'm sure it'll be the best for the project. I have not the background needed
for this and you will make it faster.

BTW. It would be nice if the mach64 speed under DRI were 2 times than the
speed got under Utah-GLX. It's not a Radeon, but it will be nice to play Q3
with this laptop.

I will start the new branch in the CVS ASAP, when they give me access.

Best regards


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



Re: [Dri-devel] /usr/bin/ld: cannot find -lXau

2001-10-19 Thread manuel . teira


Liam Wilks writes:

 Could anybody help me with this problem? DRI doesn't seem to want to
 compile from CVS. I am running Redhat 7.1, with kernel 2.4.5 patched for
 Win4Lin, and XFree86 4.10. 
 
 I have an ATI Rage Mobility P/M Graphics Card, which is a Mach 64 based
 card. I downloaded the alpha patch for ATI Mach 64 today and patched the
 source tree. I relise that this patch is very early in development and
 DRI currently does not support Mach 64, however I believe this is not
 the problem. 
 
 Below is the tail of the output from compiling DRI: 
 
 
 make[5]: Leaving directory 
`/downloads/dri/DRI-CVS/build/xc/programs/Xserver/hw/xfree86'
 gcc -o XFree86 -O2 -ansi -Wall -Wpointer-arith -Wstrict-prototypes 
-Wmissing-prototypes -Wmissing-declarations -Wnested-externs -pipe -g 
-L../../exports/lib -L/usr/X11R6-DRI/lib
../../programs/Xserver/hw/xfree86/common/xf86Init.o 
../../programs/Xserver/hw/xfree86/common/xf86IniExt.o 
../../programs/Xserver/hw/xfree86/common/libxf86.a 
../../programs/Xserver/hw/xfree86/parser/libxf86config.a 
../../programs/Xserver/hw/xfree86/os-support/libxf86_os.a 
../../programs/Xserver/hw/xfree86/loader/libloader.a  
../../programs/Xserver/hw/xfree86/common/libxf86.a miext/shadow/libshadow.a 
dix/libdix.a os/libos.a -lXau -lXdmcp ../../lib/font/fontbase.o   
   ../../lib/font/libfontbase.a Xext/libexts.a xkb/libxkb.a Xi/libxinput.a
   lbx/liblbx.a   ../../lib/lbxutil/liblbxutil.a  
../../programs/Xserver/hw/xfree86/common/libxf86.a  Xext/libexts.a 
xkb/libxkb.a Xi/libxinput.a   lbx/liblbx.a   
../../lib/lbx!
 util/liblbxutil.a  render/librender.a  dix/libxpstubs.a mi/libmi.a Xext/libexts.a 
xkb/libxkb.a Xi/libxinput.a   lbx/liblbx.a   
../../lib/lbxutil/liblbxutil.a  render/librender.a   
../../programs/Xserver/hw/xfree86/os-support/libxf86_os.a  
../../programs/Xserver/hw/xfree86/ddc/libddc.a -lz -lm -rdynamic 
-ldl  -Wl,-rpath-link,../../exports/lib
 /usr/bin/ld: cannot find -lXau
 collect2: ld returned 1 exit status
 make[4]: *** [XFree86] Error 1
 make[4]: Target `all' not remade because of errors.
 rm -f Xserver._man
 /lib/cpp -undef -traditional  -D__filemansuffix__=5x -D__miscmansuffix__=7 
-D__drivermansuffix__=4 -D__projectroot__=/usr/X11R6-DRI -D__xorgversion__='Release 
6.5 X Version 11' -D__vendorversion__='Version 4.1.99.1 XFree86'  Xserver.man 
| sed -e '/^#  *[0-9][0-9]*  *.*$/d' -e '/^XCOMM$/s//#/' -e 
'/^XCOMM[^a-zA-Z0-9_]/s/^XCOMM/#/' Xserver._man
 rm -f Xserver.1x.html Xserver.1x-html
 ../../config/util/rman -f HTML  Xserver._man \
  Xserver.1x-html  mv -f Xserver.1x-html Xserver.1x.html
 macro in not recognized -- ignoring
 make[4]: Leaving directory `/downloads/dri/DRI-CVS/build/xc/programs/Xserver'
 make[3]: *** [all] Error 2
 make[3]: Leaving directory `/downloads/dri/DRI-CVS/build/xc/programs'
 make[2]: *** [all] Error 2
 make[2]: Leaving directory `/downloads/dri/DRI-CVS/build/xc'
 make[1]: *** [World] Error 2
 make[1]: Leaving directory `/downloads/dri/DRI-CVS/build/xc'
 make: *** [World] Error 2
 
 It looks to me that the problem is it can't find libXau.a, however it seems to be 
there as far as I know.
 Any help would be appreciated thankyou.

I think that you need a previous XFree installation in the /usr/X11R6-DRI,
I suffered similar problems with some headers. 

Perhaps the fastest solution is copying the /usr/X11R6 to the
/usr/X11R6-DRI directory to avoid this compilation problems. Then, the
installation will overwrite the important stuff. 

BTW. I'm interested in any problems while applying the patch. Did it work
correctly for you?

I hope that this helps.


 
 Liam Wilks,
 SportingPulse.Com
 
 
 
 
 
 ___
 Dri-devel mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/dri-devel




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



Re: [Dri-devel] Mach64 questions

2001-10-18 Thread Manuel Teira

El Mié 17 Oct 2001 11:44, R C escribió:
 On Sat, Oct 13, 2001 at 10:08:50PM +0200, Manuel Teira wrote:

 Regarding theories on DMA and Mach64 and XFree 4.10:

 I just finished a module that uses the System DMA unit for video capture
 transfers, and it works fine under a (highly hacked) XFree 4.1.0 server.

 System: Dual 550 Celeron, All-in-Wonder (original) PCI, 3D Rage II+.
 XServer is 4.1.0 with Gatos devel branch. Module is for 2.4 kernel. To use
 this on another card, you would have to enter the proper PCI id in the
 code. Oh yes, it uses the secondary register aperture, not the linear
 mapped aperture, but I don't think it makes a difference.

 Have not tried GUI dma, but it is quite similar.

 R C

I'm sorry, but have no luck trying to install your module. It always bugs me
with errors:
These ones:
#insmod ati_dma.o
Oct 18 22:23:49 localhost kernel: PCI: Sharing IRQ 11 with 00:02.0
Oct 18 22:23:49 localhost kernel: PCI: Sharing IRQ 11 with 00:05.0
Oct 18 22:23:49 localhost kernel: Found ATI card at 0xf500.
Oct 18 22:23:49 localhost kernel: PCI: Unable to reserve mem region
#1:100@f500 for device 01:00.0
Oct 18 22:23:49 localhost kernel: Could not request IO regions!
#

Or these other ones:
#insmod ati_dma.o
Oct 18 22:23:51 localhost kernel: PCI: Found IRQ 11 for device 01:00.0
Oct 18 22:23:51 localhost kernel: PCI: Sharing IRQ 11 with 00:02.0
Oct 18 22:23:51 localhost kernel: PCI: Sharing IRQ 11 with 00:05.0
Oct 18 22:23:51 localhost kernel: Found ATI card at 0xf500.
Oct 18 22:23:51 localhost kernel: Cannot reserve interrupt: 11 for ATI card!
#


I don't know what is happening (and many other things). Any idea?


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



Re: [Dri-devel] Mach64 questions

2001-10-17 Thread manuel . teira


R C writes:

 On Sat, Oct 13, 2001 at 10:08:50PM +0200, Manuel Teira wrote:
 
 Regarding theories on DMA and Mach64 and XFree 4.10:
 
 I just finished a module that uses the System DMA unit for video capture
 transfers, and it works fine under a (highly hacked) XFree 4.1.0 server.
 
 System: Dual 550 Celeron, All-in-Wonder (original) PCI, 3D Rage II+.
 XServer is 4.1.0 with Gatos devel branch. Module is for 2.4 kernel. To use
 this on another card, you would have to enter the proper PCI id in the
 code. Oh yes, it uses the secondary register aperture, not the linear
 mapped aperture, but I don't think it makes a difference.

Thank you  very much. I'll try to see what is missing in the GUI DMA test
in the DRI code. 
At a first glance, I don't remember to have seen  a pci_set_master call
anywhere in the DRI code. It seems important, doesn't it?


 
 Have not tried GUI dma, but it is quite similar.
Easier indeed. The directives in the Mach64 Programmer's manual are simpler
than for the case you're working on.

I'm now at work but impacient to get home and have access to the Mach64 DRI
code. 

Thanks again.
 
 
 R C
 
 -- 
 They said it was *daft* to build a space station in a swamp, but I showed them!
 It sank unto the swamp.  So I built a second space station.  That sank into 
 the swamp too. My third space station sank into the swamp. So I built a fourth 
 one.  That fell into a time warp and _then_ sank into the swamp.  But the fifth
 one...  stayed up! --Monty Python/Babylon 5




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



Re: [Dri-devel] Mach64 questions

2001-10-17 Thread manuel . teira


Mike Westall writes:

 I spent an incredibly frustrating 4 weeks trying to
 get the DRI to work with r128 and g400 cards on Dell
 precision workstation only to find that my problem
 was precisely because bus mastering was NOT enabled
 on boot!  As soon as I fixed that everything worked
 fine.  Apparently different BIOSes WILL leave the
 card in different states after boot.
 
 Mike

Thanks for your comments, guys. In three or four hours (if no new 'browns')
we'll have the answer. It would be nice if this were the only problem. ;-)
Anyway, I think it won't be the problem, because nobody have had success
with the Mach64 Bus Mastering with the DRI ( while having success with
Utah-GLX ). Perhaps XFree 3.x setup for the card is different.



Best regards

--
M. Teira 




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



[Dri-devel] Mach64: Patch for the CVS DRI trunk

2001-10-16 Thread Manuel Teira

Hello.

I've just finished a patch against the DRI trunk (well, I checked it out one
week ago, but I hope the patch will work). Gears is working and the DMA test
is still failing. Anyway, I think it's a good thing to start with an up to
date codebase.

So, please, to any of you interested in helping with the Mach64 development,
I would like to know if the patch works for you, and what results are you
getting using it. I also recommend migrating to the fresh DRI trunk to share
a common codebase.

The results you'd expect are:

gears working (in my computer is getting about 215-220 FPS)
glxinfo working
DMA test doesn't work (actually, the busmastering test function is
bm_dma_test and it's been called from mach64_do_dma_cleanup in the
mach64_dma.c file).

Have in mind that mesa is writing directly into the card, because we are
still missing a working DMA implementation. One of the pending works could be
implementing  some kind of pseudoDMA transfers like in the Utah-GLX  system
(this would be necessary to have a 'secure' driver while we are fighting with
BusMastering)

Jouko Pynnönen have told me about some diferences between 2D initialization
between (XFree 3.x + Utah-GLX) and (XFree 4.1 + DRI). I would try to look
further into this.

I have posted the patch itself into the sourceforge DRI Project area:
[ #471868 ] Mach64 update for the DRI CVS Trunk
The patch is a bzip2 compressed unified diff file.

Best regards.

P.D: I feel that my english is getting worse as time passes.
--
M. Teira


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



Re: [Dri-devel] Mach64 developers

2001-09-25 Thread Manuel Teira

El Mar 25 Sep 2001 07:27, escribiste:
 On Sun, 23 Sep 2001, Manuel Teira wrote:
  Perhaps we should work with the latest DRI trunk. Do you think it worth
  the effort?

 It seems that most of the changes I noticed have been in the drivers for
 the newer cards, but I haven't really looked at it that closely at this
 point.  I'm certainly no authority on this, I'm still trying to comprehend
 everything. ;)

  A logical analysis: The reset engine code is ORing the BUS_CNTL
  with 0x00a0, right? But we are suspecting that the component
  0x0080 could be read only, and after looking at the code and the
  defines, it seems that this bit is redefined for the newer cards. Well,
  if the bit were read-only, the DRI_INFO for that register could learn us
  something. In my laptop, the BUS_CNTL before and after the DMA tests is
  always:
  BUS_CNTL = 0x7b3fa001
  As you can see, the 0x0080 is not set, and the 0x0020 is set.
  Perhaps this is meaning that this bit is read-only and, so,  the supposed
  obsoleted BUS_LAT16X ?
 
  What value is holding your  BUS_CNTL ?

 I get 0x7b3fa101 before the test, which is the same except that bit 8
 (reserved) is set, and after the DMA test (with the new code that resets
 the engine) I get 0x7b3fa141 -- BUS_MASTER_DIS is set by the reset code.

Yes, excuse me. I'm getting 0x7b3fa041 after the test. Anyway, your results 
match my suposition that BUS_LAT16X is still present.



Regards.
-- M. Teira


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



Re: [Dri-devel] Mach64 developers

2001-09-23 Thread Manuel Teira

El Dom 23 Sep 2001 04:50, escribiste:
 According to the register ref. (p.4-26), GB means BGA package, AGP:
 both 1x and 2x).  I have an LT Pro, which has LB in the device ID.
 This is in the CFG_CHIP_TYPE in CONFIG_CHIP_ID.  There's also a class,
 foundry ID, and major/minor numbers in CONFIG_CHIP_ID.

 At any rate, I just looked at the dri trunk and it looks like there was a
 change here. The 'else' (mentioned in my previous mail) is now:

 else if (Chip  ATI_CHIP_264VT4)

 I checked, and all other references to these regs in the code work the
 same way, so if the code is correct it seems that:

 BUS_FIFO_ERR_INT_EN, BUS_FIFO_ERR_INT are used for chips  ATI_CHIP_264VTB
 BUS_HOST_ERR_INT_EN, BUS_HOST_ERR_INT are used for chips  ATI_CHIP_264VT4

Perhaps we should work with the latest DRI trunk. Do you think it worth the 
effort?

A logical analysis: The reset engine code is ORing the BUS_CNTL 
with 0x00a0, right? But we are suspecting that the component 0x0080 
could be read only, and after looking at the code and the defines, it seems 
that this bit is redefined for the newer cards. Well, if the bit were 
read-only, the DRI_INFO for that register could learn us something. In my 
laptop, the BUS_CNTL before and after the DMA tests is always:
BUS_CNTL = 0x7b3fa001
As you can see, the 0x0080 is not set, and the 0x0020 is set. Perhaps 
this is meaning that this bit is read-only and, so,  the supposed 
obsoleted BUS_LAT16X ?

What value is holding your  BUS_CNTL ?

--
M. Teira



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



Re: [Dri-devel] Mach64 developers

2001-09-22 Thread Manuel Teira

El Sáb 22 Sep 2001 14:54, escribiste:
 Hi guys!

 I've had lot of other things to do in the past weeks so I couldn't work
 on mach64. I've still problems to compile the trunk with Manuel's
 patches. I haven't had time to track this down, so I decided to post my
 changes of mach64_dma.c which I have made in my copy of the
 mach64-branch. There it compiles well. The GUI-master isn't performed
 though, but I rewrote the reset_engine function according to the
 programmer's guide and I call it if the idle test after the transfer
 failed. So hardware doesn't lock on my machine and I can start X where
 glxinfo tells me that I'm have hardware based DRI but gears locks my
 machine  so that I have to reboot vie ssh.

It's nice to hear about you again. I'll test the changes you've made on my
machine ASAP. BTW, I've take a fast look about the way you are allocating the
memory for the test:

struct pci_pool *pool;
 void *cpu_addr_table, *cpu_addr_data;
void *cpu_addr_table, *cpu_addr_data;
pool = pci_pool_create( mach64, NULL, 0x4000, 0x4000, 0x4000, SLAB_ATOMIC );
cpu_addr_table = pci_pool_alloc( pool, SLAB_ATOMIC, table_addr );
cpu_addr_data = pci_pool_alloc( pool, SLAB_ATOMIC, data_addr );

What alignment are you getting on this way? Could we select a diferent
alignment using this kind of memory alloc?



 It is possible, that the mach64_dma.c doesn't compile because I couldn't
 test it. If something fails please report to me; there may be cut and
 paste errors.

I'll try soon.

--
M. Teira

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



Re: [Dri-devel] Mach64 developers

2001-09-22 Thread Manuel Teira

El Sáb 22 Sep 2001 17:03, escribiste:
 Manuel Teira wrote:


 have a look at kernel-source-dir/Documentation/DMA-mapping.txt

OK. Thanks for the help.

 there's the explaination about this API. I think we should use this if
 anybody hasn't any objections.
 pci_pool_create is specified:
 pool = pci_pool_create( name, dev, size, align, alloc, flags );
 in this case a 16kB buffer aligned to 16kB boundry (16384 = 0x4000)


I think it's fine.

 please tell me status of your Xserver after starting. does it start up?
 does the hardware lock? are you able to run gears without locking? what
 does glxinfo tell you?

To say you the truth, I haven't been trying to test the XServer with any 
client. I was just starting it, stopping it (using Ctrl+Alt+BackSpace) and 
looking at the /var/log/kern.log to see the DMA test status.

Now, I've started the X with this command:
xinit -- /usr/X11DRI/bin/XFree86 
that's the location of my testing XFree server.

After that, my WindowManager (KDE) started. I tried the glxinfo after setting 
the LD_LIBRARY_PATH to :
LD_LIBRARY_PATH=/usr/X11DRI/lib

and the result is:
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
client glx vendor string: SGI
client glx version string: 1.2
client glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
GLX extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
OpenGL vendor string: Gareth Hughes
OpenGL renderer string: Mesa DRI Mach64 20001218 [Rage Pro] x86/SSE
OpenGL version string: 1.2 Mesa 3.4.2
OpenGL extensions:
GL_ARB_multitexture, GL_ARB_transpose_matrix, GL_EXT_abgr,
GL_EXT_blend_func_separate, GL_EXT_clip_volume_hint,
GL_EXT_compiled_vertex_array, GL_EXT_histogram, GL_EXT_packed_pixels,
GL_EXT_polygon_offset, GL_EXT_rescale_normal, GL_EXT_stencil_wrap,
GL_EXT_texture3D, GL_EXT_texture_object, GL_EXT_vertex_array,
GL_MESA_window_pos, GL_MESA_resize_buffers, GL_NV_texgen_reflection,
GL_PGI_misc_hints, GL_SGIS_pixel_texture, GL_SGIS_texture_edge_clamp
glu version: 1.3
glu extensions:
GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess
 
   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
--
0x23 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0x24 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow
0x25 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow
0x26 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow
0x27 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0x28 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  8  0  0  0  0  0 0 Slow
0x29 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow
0x2a 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 Slow

Then, I closed my eyes and fired 'gears'. Well, it didn't lock my machine, 
the gears window only contained garbage, but the program was running, and 
saying:
1786 frames in 5.002 seconds = 357.057 FPS
1736 frames in 5 seconds = 347.2 FPS

Well, I tried it several times, all the time with the same result. On other 
terminal (without the LD_LIBRARY_PATH variable set) I tried gears, and it 
runs normally (without 2D or 3D acceleration) and getting around 120 FPS.


 I would like to compare to my status in order to have the same working
 ground.

 Furthermore I suggest to drop the GUI master issue at the moment (it
 isn't used in the driver right now or am I wrong? and therefore it is
 just a performance issue)

I suppose it's not used, because it never worked, while Gareth code was 
usable (at least with one of my laptops).

 If your gears locks too, then I would first track this down. Debuging
 this is very hard because I have to boot after every try.

If you want any log from my computer, please tell me.

I'm sending you the mach64_dma.c I'm using (it's just a merge between yours 
and mine). Perhaps you have to add some extra define to mach64_drv.h to use 
it, could be:
#   define MACH64_BUS_APER_REG_DIS  (1  4)
or
#   define MACH64_BUS_EXT_REG_EN(1  27)



--
Manuel Teira



/* mach64_dma.c -- DMA support for mach64 (Rage Pro) driver -*- linux-c -*-
 * Created: Sun Dec 03 19:20:26 2000 by [EMAIL PROTECTED]
 *
 * Copyright 2000 Gareth Hughes
 * All Rights Reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the Software),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom

Re: [Dri-devel] Mach64 developers

2001-09-22 Thread Manuel Teira

El Sáb 22 Sep 2001 18:12, escribiste:
 Manuel Teira wrote:
  Then, I closed my eyes and fired 'gears'. Well, it didn't lock my
  machine, the gears window only contained garbage, but the program was
  running, and saying:
  1786 frames in 5.002 seconds = 357.057 FPS
  1736 frames in 5 seconds = 347.2 FPS
 
  Well, I tried it several times, all the time with the same result. On
  other terminal (without the LD_LIBRARY_PATH variable set) I tried gears,
  and it runs normally (without 2D or 3D acceleration) and getting around
  120 FPS.

 well that's fine I get about the same values. I achieved ca. 350 fps one
 time and cannot reproduce.

Well, I said that it's getting 347 FPS, but nothing is showing in the window,
just garbage (and garbage that didn't looks like three wheels).

 so you are a step further than me. what kind of source are you using?
 the trunk or the branch?

I'm using the XFree 4.1.0 trunk with my modifications, and the mach64_dma.c
file I sent you today.

 Perhaps if I can overcome this compiling errors
 I have hw accelerated X, too. It would be great if you could do some
 testing with programs using 3D *AND* 2D and report whether something is
 wrong (like texture or things like that) When we have a running Xserver
 perhaps anybody with special connections to ATI could contact we the
 developers there and ask about some help why the GUI master doesn't work
 despite it is done as described in the programmer's guide. This only
 makes sense if we can exclude every other source of errors.
The 2D acceleration is disabled in my Xserver (as in the Gareth's code
(mach64 branch) ). Perhaps this is what is making your computer hang.


  If you want any log from my computer, please tell me.

 First I try to compile the trunk with the changes:

 for example, it starts at the  creation of the Makefiles:
 at /lib/GL/mesa/src/drv/mach64 the created Makefile is corupt (missing
 seperator is reported and the Makefile itself is a mess)
 it's possible that it is easy to fix but I haven't had time to

Perhaps your Imakefile is wrong. What codebase are you starting from?


--
M. Teira

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



Re: [Dri-devel] Mach64 developers

2001-09-22 Thread Manuel Teira

El Sáb 22 Sep 2001 19:08, escribiste:
 Manuel Teira wrote:
  El Sáb 22 Sep 2001 18:30, escribiste:
   You can pass an argument to isosurf to tell it to render only 100
   triangles (isosurf -100) - another good option, and you can get it to
   render more by moving with the arrow keys.
 
  isosurf, where could I find it?

 Mesa demos directory, same place gears normally lives.  see www.mesa3d.org.

 Keith

I have had problems trying to compile the demos myself, so, I've extracted
them from a binary package I've found.

And now, the results:

1.-When the new bm_dma_test is called from the dma_init it fails as ever.
Then, if I try to run the 'gears' demo, it hangs the machine.
2.-When the bm_dma_test is called from the dma_cleanout, the gears demo runs,
showing only garbage on the screen. So, it seems that we should blame the DMA
test for the locks.
3.-Finally, and in the same environment than (2), I've tried to run the
isosurf demo. Against all the bets, it worked. Well, it's able to render the
figures as good as in software mode (with the software GL library), but with
some problems:
- There's garbage in the background of the window.
- The window is not cleaned for each frame, so, all the shapes are mixed on
the screen after some key strokes.

Now, we need somebody with knowledge about the internals to look for the
reason of this behaviour. Perhaps something related with buffer swapping?

--
M. Teira

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



Re: [Dri-devel] Re: Progress of mesa-3.5 tree? Update to Mesa-3.6/4.0

2001-09-15 Thread Manuel Teira

El Sáb 15 Sep 2001 02:41, escribiste:
 On Friday 14 September 2001 21:08, you wrote:
  That's fine -- I wasn't suggesting that.  But, for the people who can
  actually do this job, the r128/G400 isn't terribly interesting anymore.
  Isn't the whole open source thing about developers scratching an itch?

 Cool.  It just came across differently, somehow...  Dunno, guess it's due
 to the incidents of the week combined with nothing still on making the
 RagePRO go under DRI (I think I'm closer- there's some stuff that's being
 incorrectly set in the ati XFree86 driver, I've un-done that and now the
 bus-master seems to hang the box solid instead of do nothing at all...
 There's still something missing that's messing things up- I just can't
 finger it yet.).

Frank, one more time, I would like to have your work to take a look on it.
Perhaps with more eyes looking at the problem we could find something. And if
you could release your changes we could test it in another machines and see
different behaviours.
I think that another good idea is to discuss about what have you find wrong
in the ati driver, don't you think so?

And talking about this thread itself, I think that the DRI development will
be  always behind the Windows drivers development. So, people buying
state-of-art cards will never have a linux environment ready for their
shining cards. A lot of things must change to make it possible. Perhaps Linux
is not ready for games and will never be. But I think that Linux have not
reached it's position for being the first supporting new hardware, but for
showing a better stability and performance that MICROS~1 OS. This is the
hope, in my opinion. The unstable drivers, hanging the machine, are the worst
thing for  Linux. If I bought a Rage128, and saw that the  machine  hanged
every two hours, I would say: 'this is just the same shit than Windows', and
I will have no reason to use linux. So, the only hope for the hardware
enterprises to release linux drivers is people demanding it.



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



[Dri-devel] Mach64: Questions about drm implemetation

2001-06-19 Thread Manuel Teira

Hello. I'm working in adapting the mach64 drm driver to the new template 
structure. I have a pair of questions:

What is the meaning of the __HAVE_SG define? I've set it to zero in the 
mach64 driver, but I'm not sure about this supposition.

In the mach64_dma.c , the following line:

dev_priv-sarea = dev-maplist[0];

is now wrong, because the drm_device_t member maplist is now a 
drm_map_list_t* and in the mach64 trunk, it was a drm_map_t**. I'm trying to 
figure how to write it now, with the new type, but I'm not sure about it. Do 
we have to make dev_priv-sarea point to the head of the maplist? What is 
this supposed to be for? 

I've almost finished all the porting to the 4.1.0 trunk, but it have been a 
blind porting. I hope not to burn my laptop, because I'm still paying it. :( 
(If I dare to test this trunk).

And finally, where is the evil register programming of the driver? Do I 
need to comment it? What should we need to do instead of this register 
programming. Could you please point me to some document of resource to know 
how to do it? Is the utah-glx driver implemented in this way, or could I use 
it as a reference?



Excuse for my bad english and thanks for your time.

Best regards.


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



Re: [Dri-devel] Mach64 DRI. Any progress?

2001-06-18 Thread Manuel Teira

El Lun 18 Jun 2001 22:46, escribiste:
 Jeremy W. Bean wrote:
  On Monday 18 June 2001 12:00, you wrote:
   I'm also starting to look at the code for the mach64. What do you mean
   with the new driver template code? Are you talking about the structure
   of the ATI driver in the mach64 branch?
   Any help will be appreciated.
  
  
  From what I can tell about the driver templates, and correct me if I am
 
  wrong anyone more experienced with the code.  Check out for examples the
  r128 driver from the trunk, for a good example.  Notice there are files
  in there such as r128_tritmp.h.  This is a template that gets included in
  r128_tris.c.
   What it does basically is consolidate code that is largly reproduced
  over several functions, so that you set a few macros.  For example:
 
  #define IND (R128_TWOSIDE_BIT)
  #define TAG(x) x##_twoside
 
  followed by
  #include r128_tritmp.h
 
  Notice the inline function's name defined in r128_tritmp.h is the result
  of the TAG macro, as well the function's content is dependant on what IND
  value is defined.  So essentially the inline function is a template for
  various functions that have a bit in common.  That way you consolidate
  common code and keep things consistent.
 
  The current mach64 branch is only using one template in the driver.  But
  yes, it does have some of the driver template code there.

 Nice explanation. :)

 Look at e.g. programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/r128.h
 though. That's the template architecture at its beauty. Most of the code is
 shared between the drivers, customized with a few defines. Compare that to
 the duplication and inconsistency before.

OK. I've understood the mechanism. I've merged the mach64 driver stuff into a 
copy of the  4.1.0 trunk. All is compiling but the drm driver, because these 
holy templates. Tomorrow, I'll try to finish the work.

Thanks a lot for your explanations.

Best regards.


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



[Dri-devel] Mach64 DRI. Any progress?

2001-06-17 Thread Manuel Teira



Hello. Once again I try to get any answer about Mach64 DRI development. 
Is there any work in progress? Is the development for the Mach64 dead?

It's really sad, but I've been waiting for one year and no progress have been 
made or I haven't been told about it. Has anybody merged the main trunk into 
the mach64 branch?

I know that the Mach64 is no state-of-art, but a lot of laptops are still 
wearing one of these cards.

Is there any way to help in the development of this driver? I've never coded 
a driver and the huge XFree trunk afraids me, but, anyway, I should try to 
help if somebody could help me with the first steps: Where to find 
information about the chip? Where to find some templates or architectural 
information about DRI,...

I think the DRI development group is making a good work. It's a pitty I can't 
see the results in my old graphic card.

Best regards.

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