And here goes the proposed patch, for those of you interested. I would like some feedback about the solutions adopted (for the interlocking and also the host.def changes) before updating the CVS branch.
El Sáb 27 Oct 2001 12:35, Manuel Teira escribió: > 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
Patch against mach64 branch (27-10-2001). Leif Delgass code clean and Manuel Teira Locking proposal.