On Wed, Feb 20, 2013 at 11:55:56AM -0800, Keith Packard wrote: > Chris Wilson <ch...@chris-wilson.co.uk> writes: > > Do we need an Invalidate for when the GEM object is > > exchanged for the Pixmap following a Swap (or other external > > modifications)? > > I'm afraid I don't understand this question. Are you thinking that > pixmap IDs will end up changing which GEM objects they point at?
You manage ask yourself the question I was trying to lead: how the heck does the compositor learn that the underlying graphics object has changed? In DRI2 this is through the InvalidateEvent, and the lack of being able to send those from the driver before the Damage is sent is one of the reasons why the current exchange mechanism is broken. Getting buffer exchanges working in conjunction with the external compositor is more or less as tricky as it gets. The notion that the buffer is kept busy by the compositor and so prevents the DRI3 client from overdrawing it is key. And that naturally leads to the compositor needing to release the old buffer once it is referencing the new post-swap buffer. Serialisation between rendering of the common buffers is definitely s.e.p. I agree that should solve the compositor problem. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel