> I'm running without PageFlipping, and don't see any SwapBuffers ioctls in my > debug output, so that rules that out. > > I got suspicious of the clear ioctl before and put a wait-for-idle (full > blown host-wait) call in after each clear. That didn't fix it either, so I > don't think it's the clear. > > It's always radeon_cp_cmdbuf, and it never, ever locks up when nrect < 2, > and usually nrect >=3 (I think I might have seen a lockup with nrect == 2 > but it's harder to provoke). emit_clip_rect() therefore seemed like the > safest place to put the wait. In the common case where nrect==1 it gets > called once only for the whole buffer, and most of the time it should be a > no-op.
The other dumb thing we're doing here is using those registers for 3d cliprects *at all* -- the radeon has 3 (three!) dedicated 3d scissor rects that are intended for this task -- we should simply change the code to use them, fix the lockup & get a 3x speedup in clipping situations... 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