Live from sunny Portland, it's the X Developer's Conference 2009!
Bart Massey: Welcome, Introductions
CompositeRedirectSubWindows
, hook CreateWindow
, redirect root window in CW hookRealizeWindow
and make GEM handles for the window pixmap, tear it down in UnrealizeWindow
SetWindowPixmap
(resize, reparent, etc)MoveWindow
to reflect X position as Wayland movesNo defined ordering between X and direct rendering
GLX APIs are only good for your own X and GL stream, not useful between apps
X sync objects, like GL sync objects. Contains nothing but binary state: triggered or not.
Rendering streams could be stalled until sync object reaches triggered.
Export these to other APIs so you can sync between them
Also need control over where and when presentation happens, and feedback on when buffers are in use by presentation
Explicit multibuffering: allocate multiple backing pixmaps, explicitly set backs to be the new front; kind of like existing multibuffer extension?
Sync counters not that close of a match, since hardware really only has boolean triggers
Presentation requests forwarded to the current CM, or else automatically composited
ScrnInfoRec