From: Leif D. <lde...@re...> - 2002-06-30 19:06:47
|
On Sun, 30 Jun 2002, Alan Hourihane wrote: > On Sun, Jun 30, 2002 at 12:39:30 +0200, Felix K=FChling wrote: > > Hi mach64 folks, > >=20 > > after several weeks of extreme busyness/absence I am back now and > > testing the mach64-0-0-4 and 0-0-5 branches again (still the best I c= an > > do :( ). It's great that you got 2D accel working. However, there is > > still one problem. > >=20 > > Moving a GL window caused the X-server to segfault with both the late= st > > versions of mach64-0-0-4 and 0-0-5. Moving any other window while 3D = was > > active was no problem. I experimented a bit with this and it turned o= ut > > that the problem only occurs when I use=20 > >=20 > > Option "XaaNoScreenToScreenCopy" > >=20 > > in the Screen section. (I did this since it caused drawing errors in > > some situations.) > >=20 > > I got a backtrace of the segfault: > >=20 > > Program received signal SIGSEGV, Segmentation fault. > > 0x00000000 in ?? () > > #0 0x00000000 in ?? () > > #1 0x08741a5f in ?? () > > #2 0x0825129f in ?? () > > #3 0x0817e351 in miMoveWindow (pWin=3D0x8912d18, x=3D0, y=3D0, pNext= Sib=3D0x8939780,=20 > > kind=3DVTMove) at miwindow.c:553 > > #4 0x080d8d17 in ConfigureWindow (pWin=3D0x8912d18, mask=3D3, vlist=3D= 0x88f2088,=20 > > client=3D0x88d5560) at window.c:2507 > > #5 0x080beda2 in ProcConfigureWindow (client=3D0x88d5560) at dispatc= h.c:772 > > #6 0x080b9608 in Dispatch () at dispatch.c:462 > > #7 0x080cde39 in main (argc=3D5, argv=3D0xbffffb84, envp=3D0xbffffb9= c) at main.c:454 > >=20 > > call LoaderPrintSymbol printed this in XFree86.1.log: > > 0x8741138 ATIInitializeXVideo+927 > > Module "/usr/X11R6-mach64005/lib/modules/drivers/atimisc_drv.o" > > Section ".text" > > 0x82511f0 DRICopyWindow+af > > Module "/usr/X11R6-mach64005/lib/modules/extensions/libdri.a:dri.o" > > Section ".text" > >=20 > > It seems that there is a call to a null pointer in the end. Just a > > guess: Could it be a call to the ScreenToScreen copy function which I > > disabled in the XF86Config? >=20 > Yes. It is indeed the problem. ATIDRIMoveBuffers() calls > this XAA function.=20 >=20 > I guess if this is disabled you need to fallback to software > copying, or disable DRI (ouch). >=20 > Alan. I copied the code for ATIDRIMoveBuffers from the radeon driver. Does=20 radeon have a fallback for this? ATIDRIInitBuffers also uses XAA=20 functions (SoldFill), but that could be changed to use the drm clear=20 ioctl. =20 Felix, what problems were you seeing with XaaScreenToScreenCopy enabled? = =20 If you see a message in the X log about MMIO caching after "Direct rendering enabled", try updating from cvs (0-0-5-branch) or using the latest binary and see if the problem is still there. --=20 Leif Delgass=20 http://www.retinalburn.net |