In v4: Completely reorganized patch basedo on Keith Packard's feedback. End result is almost identical, but the road there is very different.
I've prepended a patch to add SERVER_SYNC_*_VERSION to the whole series. That this was previously missing makes the re-organization less useful, since these patches won't apply retroactively to older servers built against new protocol headers, but I've added this hoping it will help in the future. This first patch may be a candidate for back-porting to stable server branches as well. Implements X Sync Fence Objects in the server, including the damage 1.2 support for DamageSubtractAndTrigger. Re- uses X Sync Counter code wherever possible. A driver interface has also been added so DDX drivers can redirect fence sync operations to HW rendering backend operations. James Jones (10): Add and use SERVER_SYNC_*_VERSION Create SyncObject base type. Make Await SyncTrigger functions generic Factor out generic code from ProcSyncAwait() Move some sync code to miext Add fence sync driver interface Require xextproto 7.1.99 Create/Destroy/Trigger/Reset/Query Fence Sync objs Add XSyncAwaitFence() handler Expose Sync Fence Object protocol COPYING | 2 +- Xext/Makefile.am | 3 +- Xext/sync.c | 899 ++++++++++++++++++++++++++++++++---------- Xext/syncsdk.h | 47 +++ Xext/syncsrv.h | 37 +-- configure.ac | 23 +- dix/privates.c | 1 + hw/xfree86/loader/sdksyms.sh | 4 + include/privates.h | 1 + include/protocol-versions.h | 4 + miext/Makefile.am | 4 +- miext/sync/Makefile.am | 14 + miext/sync/misync.c | 201 ++++++++++ miext/sync/misync.h | 77 ++++ miext/sync/misyncstr.h | 86 ++++ 15 files changed, 1156 insertions(+), 247 deletions(-) create mode 100644 Xext/syncsdk.h create mode 100644 miext/sync/Makefile.am create mode 100644 miext/sync/misync.c create mode 100644 miext/sync/misync.h create mode 100644 miext/sync/misyncstr.h _______________________________________________ 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