Updates to GLX_EXT_texture_from_pixmap

Deron Johnson Deron.Johnson at Sun.COM
Mon Apr 3 15:24:03 PDT 2006

James Jones wrote On 03/31/06 15:05,:

> LockDrawables would not always be a synchronous request.  It only 
> needs to be synchronous if the composite manager is using direct 
> rendering.  Note that the example I suggested accounted for this.  
> Alternatively, LockDrawables could take a boolean argument making 
> it optionally synchronous.

How can a lock operation not be a synchronous request? By the very
definition of a lock the process trying to acquire a lock must block
until the lock is granted. If the LockDrawables request is not
always synchronous, the client could end up accessing the drawable
when it is not actually locked.

> However, If locking semantics were added, they would introduce the 
> same limitations as the proposed LockDrawables.  For direct 
> rendering composite managers, BindTexImage would be forced to send 
> protocol and require a sync.  For indirect rendering, the lock 
> could happen in band.

This is not necessarily true. It is not necessary that BindTexImage send
X protocol in order to implement locking semantics. Direct rendering
library routines are allowed to bypass the X protocol in order to
lock server objects. This is fundamental to the concept of direct
rendering. I have implemented many such direct rendering routines that
do exactly that.

More information about the xorg mailing list