Updates to GLX_EXT_texture_from_pixmap
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