[PATCH xextproto 0/4] XSync Fence Objects

James Jones jajones at nvidia.com
Mon Aug 9 13:41:54 PDT 2010


On Monday 09 August 2010 12:52:30 pm Alan Coopersmith wrote:
> James Jones wrote:
> > Adds support for binary sync objects.  Objects are set to
> > "triggered" using X commands that are executed relative to
> > X rendering commands.  Clients can wait for fence sync
> > objcts to reach the triggered state using XSync APIs or
> > using interop functionality in other APIs.  This allows
> > for efficient cross-API synchronization with X rendering
> > operations.
> 
> I don't know enough about sync to comment on specifics, but some
> general notes:
> 
>  - since you're increasing the number of errors, see the pain
>    Peter recently went through when doing this with Xinput to
>    not break old clients that allocate a smaller number of error
>    slots.

I'll take a look at that.

>  - updates to protocols to add new requests/errors should also
>    be reflected in the docs & xcb protocol specs.  The Sync
>    extension spec is now in DocBook format as specs/sync.xml
>    in xextproto.  The xcb protocol specs are in src/sync.xml
>    in xcb-proto.

Agreed.  I will definitely provide doc updates.  I've put significant time 
into developing the XSync Fence Objects so far, and haven't received any 
feedback outside of NVIDIA yet, so I wanted to get some more eyes on the code 
before I plowed ahead with even more development/documentation.  Thanks for 
pointing me towards the XML files.

If anyone thinks docs would make reviewing the code changes easier, I can 
write them up now rather than waiting for more feedback before moving forward.

>  - is there some reason patch 4 wasn't squashed into patch 1?
>    adding a new member in the middle of a request structure
>    doesn't seem like a safe operation, and you'd never want to
>    build a version without it

No, you're right.  I'll combine them and rebase the related lib and server 
changes to match.

Thanks,
-James


More information about the xorg-devel mailing list