[Xcb] [PATCH 5/7] Add event queue splitting
Keith Packard
keithp at keithp.com
Wed Nov 6 19:09:01 PST 2013
Peter Harris <pharris at opentext.com> writes:
> Dude. It's not getting NAKed, it's getting "Woah, this is out of left
> field, this is the first I've ever heard of it, can we please have a
> couple of days to think about it before we ACK it?"ed.
Yeah, I've been running this code for months now and have mentioned it
when presenting DRI3000, but didn't ever bring it directly to the XCB
list because I implemented precisely what we'd already agreed to in
principle -- the notion of a simple event filtering mechanism that split
events off into separate queues
I didn't realize until recently that I *hadn't* even sent the patches to
the list though; DRI3000 has so many modules involved. I have posted
links to the work since last January, and to my knowledge, no-one has
ever looked at any of the code in question, so XCB is at least not alone
in that regard.
In any case, I'd like to implore all of you to consider a little
deadline problem that I have today:
* The Mesa freeze is Friday.
* All of the DRI3/Present code has been reviewed and is ready to be
merged to master for that freeze.
* However, it cannot be merged until a released version of XCB with
these APIs is available.
* XCB is blocking the availability of a significant improvement to
Mesa.
If we miss that freeze, DRI3/Present and the opportunity for GL support
in XCB will languish for at least another six months. And that would be
a shame.
The key to understanding these changes is:
1) The notion of separate event queues with event filters to driver
events into each queue was agreed to by several XCB developers a
long time ago.
2) This design has the separate event queue APIs and implementation
matching the requirements laid out informally in the historical
discussions.
3) Precisely how event filtering should work was never really worked
out. I suspect the general notion would have been some complicated
offset/mask/match algebra to allow selection based on fields within
the event though.
4) I constructed the simplest possible matching system which performs
precisely the match needed for the Present extension, with the
notion that a more complicated matching API should wait until we
had actual requirements for that
5) Adding new APIs to construct more complicated filters will not
affect any public APIs offered in this patch.
6) GLX is the last major X API which cannot be supported in XCB; this
fixes that, so even if we end up with a dead-end API that is only
good for this one thing, it will still be valuable enough to support
forever (or, for at least as long as we're running X on the desktop,
which appears to be functionally equivalent)
--
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20131106/128c5ee7/attachment.pgp>
More information about the xorg-devel
mailing list