Keith Whitwell wrote: > Tim Smith wrote: > >> I found a few other ways of provoking the problem while I was at it, >> and dragging an xclock window over the 3D view did it too (with a >> window manager and "solidmove" turned on). In fact, I also managed to >> provoke the lockup by persistently dragging xclock around over a >> maximised glxgears in 1600x1200 but it took a lot of mouse waggling. >> >> The fix turns out to be very simple of course: >> >> --- radeon_state.c 27 Jun 2002 17:56:39 -0000 1.17 >> +++ radeon_state.c 29 Jun 2002 14:52:20 -0000 >> @@ -48,7 +48,8 @@ static inline void radeon_emit_clip_rect >> DRM_DEBUG( " box: x1=%d y1=%d x2=%d y2=%d\n", >> box->x1, box->y1, box->x2, box->y2 ); >> >> - BEGIN_RING( 4 ); >> + BEGIN_RING( 6 ); >> + RADEON_WAIT_UNTIL_2D_IDLE(); >> OUT_RING( CP_PACKET0( RADEON_RE_TOP_LEFT, 0 ) ); >> OUT_RING( (box->y1 << 16) | box->x1 ); >> OUT_RING( CP_PACKET0( RADEON_RE_WIDTH_HEIGHT, 0 ) ); >> >> In the course of poking around, I enabled the code that causes the >> scratch registers to be written out to memory by the card when they >> are updated, and extended the getparam ioctl so that user space could >> obtain them with a quick ioctl rather than doing MMIO. This has made >> things run quite a bit smoother[1] since it no longer has to hammer >> the bus to get the value (though it didn't fix the problem; I was >> wondering whether or not reading the registers by MMIO would muck with >> the command FIFO behind the CCE microengine's back, but apparently >> not). Is there some other reason why this is a bad idea or should I >> prepare a patch? BTW the radeonClear() throttling doesn't call >> delay(), so that loop will get optimised out. > > > Gareth tried to get this working in the initial driver, but didn't get > it to be reliable. I've got an older card here so I can test a patch > against that.
I should also say: Well done. It's great that you've been able to track this down to this level. I'm impressed... Keith ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel