Can't hook into the Double Buffer extension.
swestrup at gmail.com
Thu Oct 2 09:38:29 PDT 2014
On Tue, Sep 16, 2014 at 10:41 AM, Adam Jackson <ajax at nwnk.net> wrote:
> On Fri, 2014-09-12 at 14:59 -0400, Stirling Westrup wrote:
> > I am writing a video driver for which I'd like to support the Double
> > Buffer Extension. However I need to hook some of the calling functions
> > described xorg/dbestruct.h, especially 'AllocateBackBuffer' and
> > 'SwapBuffers'.
> You found an app that uses it? Impressive.
Not so surprising. I wrote the app. Basically we're trying to get
frame-perfect synchronization across 16 instantiations of Xorg, all running
on one server and talking via USB to 16 zero clients. Its a software-based
video wall, and it works decently well.
Alas the zero clients don't have either GL or DRI support, so I'm having to
go old school with what extensions I use.
The plan was to use the X Synchronization library and the DBE to time the
frame changes in the video wall, but both of these have API issues and
would need patches. (You can't currently create a new class of clock for X
At the moment, yeah. Not so much out of malice as neglect, the
> extension is not widely used and none of the open (or closed!) drivers
> attempts to support it specially. I wouldn't object to a patch,
> although I'd at least like to see it done with accessor functions that
> return the window/screen private pointer rather than by exporting the
> private keys.
That would be my approach as well, were I to write a patch. Currently the
'improved frame sync' feature for our wall is on hold due to more critical
issues in our product which have recently turned up. When we get back to
it, I'll submit some patches for X Sync and DBE.
> Ideally we'd do what the GLX spec says and unify the view of "the back
> buffer" across extensions, which I guess could include DRI3 at this
I'm not very much up on either the GLX or DRI specs, so I'm not sure how
that would affect the design of the interfaces.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the xorg