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

Reply via email to