Did you have a 2D accelerated server running on another vt?  The DDX saves
and restores its register state on mode switches, so it could be a problem
with the FIFO depth or pattern registers being changed.  Try testing
without another X server running if you haven't already.  Also, does
anything show up in the system log?

On Sat, 18 May 2002, Felix Kühling wrote:

> Hi,
> 
> I updated my DRI tree and recompiled everything. With glxgears, and
> quake1 things work fine and the framerate has increased again. glxgears
> went from 190 to 240 :). With quake2 and quake3 the Xserver locks up
> before anything is drawn. I can kill the X-server with the secure access
> sysrq key so the kernel is still responding. I get the following
> messages in my kernel log:
> 
> May 18 14:40:43 viking kernel: [drm] Setting FIFO size to 128 entries
> May 18 14:40:43 viking kernel: [drm] Creating pci pool
> May 18 14:40:43 viking kernel: [drm] Allocating descriptor table memory
> May 18 14:40:43 viking kernel: [drm] descriptor table: cpu addr: 0xc06ac000, bus 
>addr: 0x006ac000
> May 18 14:40:43 viking kernel: [drm] Starting DMA test...
> May 18 14:40:43 viking kernel: [drm] starting DMA transfer...
> May 18 14:40:43 viking kernel: [drm] waiting for idle...
> May 18 14:40:43 viking kernel: [drm] waiting for idle...done
> May 18 14:40:43 viking kernel: [drm] DMA test succeeded, using asynchronous DMA mode
> May 18 14:41:47 viking kernel: [drm] mach64_do_wait_for_idle failed! 
>GUI_STAT=0x02000001
> May 18 14:41:47 viking kernel: [drm:mach64_do_dma_idle] *ERROR* mach64_do_dma_idle 
>failed
> May 18 14:41:48 viking kernel: [drm] mach64_do_wait_for_idle failed! 
>GUI_STAT=0x02000001
> May 18 14:41:48 viking kernel: [drm:mach64_do_dma_idle] *ERROR* mach64_do_dma_idle 
>failed
> May 18 14:41:49 viking kernel: [drm] mach64_do_wait_for_idle failed! 
>GUI_STAT=0x02000001
> May 18 14:41:49 viking kernel: [drm:mach64_do_dma_idle] *ERROR* mach64_do_dma_idle 
>failed
> May 18 14:41:50 viking kernel: [drm] mach64_do_wait_for_idle failed! 
>GUI_STAT=0x02000001
> May 18 14:41:50 viking kernel: [drm:mach64_do_dma_idle] *ERROR* mach64_do_dma_idle 
>failed
> May 18 14:41:51 viking kernel: [drm] mach64_do_wait_for_idle failed! 
>GUI_STAT=0x02000001
> May 18 14:41:51 viking kernel: [drm:mach64_do_dma_idle] *ERROR* mach64_do_dma_idle 
>failed
> May 18 14:41:52 viking kernel: [drm] mach64_do_wait_for_idle failed! 
>GUI_STAT=0x02000001
> May 18 14:41:52 viking kernel: [drm:mach64_do_dma_idle] *ERROR* mach64_do_dma_idle 
>failed
> May 18 14:41:53 viking kernel: [drm] mach64_do_wait_for_idle failed! 
>GUI_STAT=0x02000001
> May 18 14:41:53 viking kernel: [drm:mach64_do_dma_idle] *ERROR* mach64_do_dma_idle 
>failed
> May 18 14:41:54 viking kernel: [drm] mach64_do_wait_for_idle failed! 
>GUI_STAT=0x02000001
> May 18 14:41:54 viking kernel: [drm:mach64_do_dma_idle] *ERROR* mach64_do_dma_idle 
>failed
> May 18 14:41:55 viking kernel: [drm] mach64_do_wait_for_idle failed! 
>GUI_STAT=0x02000001
> May 18 14:41:55 viking kernel: [drm:mach64_do_dma_idle] *ERROR* mach64_do_dma_idle 
>failed
> May 18 14:41:56 viking kernel: [drm] mach64_do_wait_for_idle failed! 
>GUI_STAT=0x02000001
> May 18 14:41:56 viking kernel: [drm:mach64_do_dma_idle] *ERROR* mach64_do_dma_idle 
>failed
> May 18 14:41:57 viking kernel: [drm] mach64_do_wait_for_idle failed! 
>GUI_STAT=0x02000001
> May 18 14:41:57 viking kernel: [drm:mach64_do_dma_idle] *ERROR* mach64_do_dma_idle 
>failed
> May 18 14:41:57 viking kernel: SysRq : SAK
> May 18 14:41:57 viking last message repeated 9 times
> May 18 14:41:57 viking kernel: [drm] mach64_do_wait_for_idle failed! 
>GUI_STAT=0x02000001
> May 18 14:41:57 viking kernel: [drm:mach64_do_dma_idle] *ERROR* mach64_do_dma_idle 
>failed
> 
> Both quake2 and quake3 switch the video mode. Before this used to work
> even though switching the mode with Ctrl+Alt+"+/-" locked up the
> X-server. I tried quake2 without fullscreen and it worked. Maybe this
> behaviour changed with asynchronous DMA?
> 
> For this test I compiled everything with gcc-2.95.4. I had a different
> problem after compiling with gcc-3.0. I have to try that again and check
> for compile errors. The problem was that the X server segfaulted on
> startup. I'll report more details later.
> 
> Regards,
>     Felix
> 
> On Sat, 18 May 2002 05:33:40 -0400 (EDT)
> Leif Delgass <[EMAIL PROTECTED]> wrote:
> 
> > OK, I finally committed my changes thus far as a checkpoint.  I'm reading
> > BM_GUI_TABLE in the dispatch routine to see when we hit the hardware
> > pointer and wait once we reach it.  So the dispatch is treating the
> > descriptor table as a ring, and it helps.  There's still lots of places to
> > optimize and probably a fair amount of cruft and bugs lurking, but I
> > wanted to get this into cvs while things are working.  :)  One of the main
> > problems is context switches with the X server.  Right now I have a wait
> > for idle followed by saving the pattern registers (used for buffer aging)
> > in EnterServer (atidri.c).  I'm only restoring the registers if the X
> > server changes them, but the engine must be idle before they can be
> > stored.  We really need to figure out how to do this better, because
> > things slow down whenever you move the mouse now.  This might be a good
> > time to look into getting sync working with 2D accel as well, since we'll 
> > need to verify that the solution will work with XAA.
> > 
> > AGP texturing is working, but the algorithm needs work.  The trick is that 
> > for multitexturing, both textures need to be in either card local or AGP 
> > memory.
> > 
> > I can go into more detail about these changes at Monday's meeting, but 
> > I'll be away for a couple of days and I wanted to get this checked in and 
> > post a quick message for now...
> > 
> > -- 
> > Leif Delgass 
> > http://www.retinalburn.net
> > 
> > 
> > _______________________________________________________________
> > Hundreds of nodes, one monster rendering program.
> > Now that's a super model! Visit http://clustering.foundries.sf.net/
> > 
> > _______________________________________________
> > Dri-devel mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/dri-devel
> > 
> > 
> 
> 
>                __\|/__    ___     ___     ___
> __Tschüß_______\_6 6_/___/__ \___/__ \___/___\___You can do anything,___
> _____Felix_______\Ä/\ \_____\ \_____\ \______U___just not everything____
>   [EMAIL PROTECTED]    >o<__/   \___/   \___/        at the same time!
> 
> _______________________________________________________________
> Hundreds of nodes, one monster rendering program.
> Now that's a super model! Visit http://clustering.foundries.sf.net/
> 
> _______________________________________________
> Dri-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/dri-devel
> 

-- 
Leif Delgass 
http://www.retinalburn.net


_______________________________________________________________
Hundreds of nodes, one monster rendering program.
Now that's a super model! Visit http://clustering.foundries.sf.net/

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

Reply via email to