am 7cd3e0a3: Document ANativeWindow\'s buffer refcounting
* commit '7cd3e0a3a2f9b104cd6c04f699ae62c4577787e2': Document ANativeWindow's buffer refcounting
This commit is contained in:
commit
3bc5e45280
1 changed files with 30 additions and 12 deletions
|
|
@ -340,9 +340,15 @@ struct ANativeWindow
|
||||||
int interval);
|
int interval);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* hook called by EGL to acquire a buffer. After this call, the buffer
|
* Hook called by EGL to acquire a buffer. After this call, the buffer
|
||||||
* is not locked, so its content cannot be modified.
|
* is not locked, so its content cannot be modified. This call may block if
|
||||||
* this call may block if no buffers are available.
|
* no buffers are available.
|
||||||
|
*
|
||||||
|
* The window holds a reference to the buffer between dequeueBuffer and
|
||||||
|
* either queueBuffer or cancelBuffer, so clients only need their own
|
||||||
|
* reference if they might use the buffer after queueing or canceling it.
|
||||||
|
* Holding a reference to a buffer after queueing or canceling it is only
|
||||||
|
* allowed if a specific buffer count has been set.
|
||||||
*
|
*
|
||||||
* Returns 0 on success or -errno on error.
|
* Returns 0 on success or -errno on error.
|
||||||
*/
|
*/
|
||||||
|
|
@ -358,14 +364,20 @@ struct ANativeWindow
|
||||||
*/
|
*/
|
||||||
int (*lockBuffer)(struct ANativeWindow* window,
|
int (*lockBuffer)(struct ANativeWindow* window,
|
||||||
struct ANativeWindowBuffer* buffer);
|
struct ANativeWindowBuffer* buffer);
|
||||||
/*
|
/*
|
||||||
* hook called by EGL when modifications to the render buffer are done.
|
* Hook called by EGL when modifications to the render buffer are done.
|
||||||
* This unlocks and post the buffer.
|
* This unlocks and post the buffer.
|
||||||
*
|
*
|
||||||
* Buffers MUST be queued in the same order than they were dequeued.
|
* The window holds a reference to the buffer between dequeueBuffer and
|
||||||
*
|
* either queueBuffer or cancelBuffer, so clients only need their own
|
||||||
* Returns 0 on success or -errno on error.
|
* reference if they might use the buffer after queueing or canceling it.
|
||||||
*/
|
* Holding a reference to a buffer after queueing or canceling it is only
|
||||||
|
* allowed if a specific buffer count has been set.
|
||||||
|
*
|
||||||
|
* Buffers MUST be queued in the same order than they were dequeued.
|
||||||
|
*
|
||||||
|
* Returns 0 on success or -errno on error.
|
||||||
|
*/
|
||||||
int (*queueBuffer)(struct ANativeWindow* window,
|
int (*queueBuffer)(struct ANativeWindow* window,
|
||||||
struct ANativeWindowBuffer* buffer);
|
struct ANativeWindowBuffer* buffer);
|
||||||
|
|
||||||
|
|
@ -411,10 +423,16 @@ struct ANativeWindow
|
||||||
int operation, ... );
|
int operation, ... );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* hook used to cancel a buffer that has been dequeued.
|
* Hook used to cancel a buffer that has been dequeued.
|
||||||
* No synchronization is performed between dequeue() and cancel(), so
|
* No synchronization is performed between dequeue() and cancel(), so
|
||||||
* either external synchronization is needed, or these functions must be
|
* either external synchronization is needed, or these functions must be
|
||||||
* called from the same thread.
|
* called from the same thread.
|
||||||
|
*
|
||||||
|
* The window holds a reference to the buffer between dequeueBuffer and
|
||||||
|
* either queueBuffer or cancelBuffer, so clients only need their own
|
||||||
|
* reference if they might use the buffer after queueing or canceling it.
|
||||||
|
* Holding a reference to a buffer after queueing or canceling it is only
|
||||||
|
* allowed if a specific buffer count has been set.
|
||||||
*/
|
*/
|
||||||
int (*cancelBuffer)(struct ANativeWindow* window,
|
int (*cancelBuffer)(struct ANativeWindow* window,
|
||||||
struct ANativeWindowBuffer* buffer);
|
struct ANativeWindowBuffer* buffer);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue