jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6c3793390f1504225016bef0603d2c774b2b0e72

commit 6c3793390f1504225016bef0603d2c774b2b0e72
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Fri Jul 17 13:47:30 2015 +0900

    Evas GL: Some documentation on sync objects
---
 src/lib/evas/Evas_GL.h | 95 ++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 84 insertions(+), 11 deletions(-)

diff --git a/src/lib/evas/Evas_GL.h b/src/lib/evas/Evas_GL.h
index 83890d5..a032eaf 100644
--- a/src/lib/evas/Evas_GL.h
+++ b/src/lib/evas/Evas_GL.h
@@ -3815,6 +3815,7 @@ typedef unsigned long long EvasGLTime;
 #define EVAS_GL_KHR_wait_sync 1
 
 /**
+ * @anchor evasgl_sync_values
  * @name Constants used to define and wait for Sync objects.
  * @{
  */
@@ -4461,30 +4462,102 @@ EvasGLImage *img = glapi->evasglCreateImageForContext
    /**
     * @name Evas GL Sync object functions
     * @since_tizen 2.3
+    * @since 1.12
     * @{ */
+
    /**
     * @anchor evasglCreateSync
-    * @brief Requires the extension @c EGL_KHR_fence_sync, similar to 
eglCreateSyncKHR.
+    * @brief Create a synchronization primitive which can be tested or waited 
upon.
+    *
+    * @note Requires the extension @c EGL_KHR_fence_sync, similar to 
eglCreateSyncKHR.
+    *
+    * @param evas_gl      The current Evas_GL connection
+    * @param type         One of: @c EVAS_GL_SYNC_FENCE or @c 
EVAS_GL_SYNC_REUSABLE
+    * @param attrib_list  Optional attributes list, terminated by @c 
EVAS_GL_NONE
+    *                     The supported attributes depend on the driver 
extensions,
+    *                     please refer to the EGL specifications for more 
information.
+    *
+    * @return A new sync object (EvasGLSync)
+    * @since 1.12
     */
    EvasGLSync   (*evasglCreateSync) (Evas_GL *evas_gl, unsigned int type, 
const int *attrib_list);
-   /** @anchor evasglDestroySync
-    * @brief Requires the extension @c EGL_KHR_fence_sync, similar to 
eglDestroySyncKHR.
+   /**
+    * @anchor evasglDestroySync
+    * @brief Destroys a sync object created by @c evasglCreateSync.
+    *
+    * @note Requires the extension @c EGL_KHR_fence_sync, similar to 
eglDestroySyncKHR.
+    *
+    * @param evas_gl     The current Evas_GL connection
+    * @param sync        A valid sync object created by @c evasglCreateSync
+    *
+    * @return @c EINA_TRUE in case of success, @c EINA_FALSE in case of failure
+    *         (in which case evas_gl_error_get() should return an error code)
+    * @since 1.12
     */
    Eina_Bool    (*evasglDestroySync) (Evas_GL *evas_gl, EvasGLSync sync);
-   /** @anchor evasglClientWaitSync
-    * @brief Requires the extension @c EGL_KHR_fence_sync, similar to 
eglClientWaitSyncKHR.
+
+   /**
+    * @anchor evasglClientWaitSync
+    * @brief Block and wait until for sync object is signaled or timeout is 
reached
+    *
+    * @param evas_gl     The current Evas_GL connection
+    * @param sync        A valid sync object created by evasglCreateSync
+    * @param timeout     A relative timeout in nanoseconds
+    *
+    * @note Requires the extension @c EGL_KHR_reusable_sync, similarly to 
eglClientWaitSyncKHR.
+    *
+    * @return @c EVAS_GL_TIMEOUT_EXPIRED if the sync failed and timeout was 
reached,
+    *         @c EVAS_GL_CONDITION_SATISFIED if the sync was signaled,
+    *         or 0 in case of failure (in which case evas_gl_error_get() 
should return an error code)
+    * @since 1.12
     */
    int          (*evasglClientWaitSync) (Evas_GL *evas_gl, EvasGLSync sync, 
int flags, EvasGLTime timeout);
-   /** @anchor evasglSignalSync
-    * @brief Requires the extension @c EGL_KHR_reusable_sync, similar to 
eglSignalSyncKHR.
+
+   /**
+    * @anchor evasglSignalSync
+    * @brief Signal a sync object, unlocking all threads waiting on it
+    *
+    * @param evas_gl     The current Evas_GL connection
+    * @param sync        A valid sync object created by evasglCreateSync
+    *
+    * @note Requires the extension @c EGL_KHR_reusable_sync or @c 
EGL_KHR_wait_sync, similarly to eglSignalSyncKHR.
+    *
+    * @return @c EINA_TRUE in case of success, or
+    *         @c EINA_FALSE in case of failure (in which case 
evas_gl_error_get() should return an error code)
+    * @since 1.12
     */
    Eina_Bool    (*evasglSignalSync) (Evas_GL *evas_gl, EvasGLSync sync, 
unsigned mode);
-   /** @anchor evasglGetSyncAttrib
-    * @brief Requires the extension @c EGL_KHR_fence_sync, similar to 
eglGetSyncAttribKHR.
+
+   /**
+    * @anchor evasglGetSyncAttrib
+    * @brief Query a sync object for its properties
+    *
+    * @param evas_gl     The current Evas_GL connection
+    * @param sync        A valid sync object created by evasglCreateSync
+    * @param attribute   Which attribute to query, can be one of: @c 
EVAS_GL_SYNC_STATUS, @c EVAS_GL_SYNC_TYPE or @c EVAS_GL_SYNC_CONDITION
+    * @param value       Return value or the query, see @ref 
evasgl_sync_values "sync object".
+    *
+    * @note Requires the extension @c EGL_KHR_fence_sync, similar to 
eglGetSyncAttribKHR.
+    *
+    * @return @c EINA_TRUE in case of success, or
+    *         @c EINA_FALSE in case of failure (in which case 
evas_gl_error_get() should return an error code)
+    * @since 1.12
     */
    Eina_Bool    (*evasglGetSyncAttrib) (Evas_GL *evas_gl, EvasGLSync sync, int 
attribute, int *value);
-   /** @anchor evasglWaitSync
-    * @brief Requires the extension @c EGL_KHR_wait_sync, similar to 
eglWaitSyncKHR.
+
+   /**
+    * @anchor evasglWaitSync
+    * @brief Wait on an EvasGLSync without blocking, see @c EGL_KHR_wait_sync 
for more information
+    *
+    * @param evas_gl     The current Evas_GL connection
+    * @param sync        A valid sync object created by evasglCreateSync
+    * @param flags       Must be 0
+    *
+    * @note Requires the extension @c EGL_KHR_wait_sync, similar to 
eglWaitSyncKHR.
+    *
+    * @return @c EINA_TRUE in case of success, or
+    *         @c EINA_FALSE in case of failure (in which case 
evas_gl_error_get() should return an error code)
+    * @since 1.12
     */
    int          (*evasglWaitSync) (Evas_GL *evas_gl, EvasGLSync sync, int 
flags);
    /** @} */

-- 


Reply via email to