On Wed, 2006-06-21 at 10:11 +0200, Martijn van Oosterhout wrote:
> 
> I've got an r128 that, occasionally, draws 3D stuff outside its
> window. More specifically, if a window moves or appears over the 3D
> stuff, the 3D gets drawn over the upper window. AIUI it's the X
> server's responsibility to set the clipping rectangles correctly.

The X server defines them, but with direct rendering, it's the client
driver's responsibility to actually apply them to the hardware.


> Since this only happens under load, what I think is happening is:
> 
> - Program A sends continuous stream of graphics commands (no double buffering)
> - User moves window over 3D output
> - X server queues change in clipping rectangles
> - Upper window is drawn by program B
> - Program A scribbles over window
> - Clipping rectangles eventually updated

This should never happen because the Mesa driver should check for
cliprect updates and apply them every time it acquires the hardware
lock. It sounds like the r128 driver is failing to do that, or maybe it
doesn't hold the hardware lock for all rendering.


This is all assuming you're not running a compositing manager.


-- 
Earthling Michel Dänzer           |          http://tungstengraphics.com
Libre software enthusiast         |          Debian, X and DRI developer




_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to