Loading opengl/include/EGL/eglext.h +14 −0 Original line number Diff line number Diff line Loading @@ -270,6 +270,20 @@ typedef EGLBoolean (EGLAPIENTRYP PFEGLHIBERNATEPROCESSIMGPROC)(void); typedef EGLBoolean (EGLAPIENTRYP PFEGLAWAKENPROCESSIMGPROC)(void); #endif /* EGL_ANDROID_native_fence_sync */ #ifndef EGL_ANDROID_native_fence_sync #define EGL_ANDROID_native_fence_sync 1 #define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144 #define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145 #define EGL_NO_NATIVE_FENCE_FD_ANDROID -1 #define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146 #ifdef EGL_EGLEXT_PROTOTYPES EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID(EGLDisplay dpy, EGLSyncKHR sync); #endif typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROID) (EGLDisplay dpy, EGLSyncKHR sync); #endif #ifdef __cplusplus } #endif Loading opengl/libs/EGL/eglApi.cpp +15 −1 Original line number Diff line number Diff line Loading @@ -652,6 +652,7 @@ __eglMustCastToProperFunctionPointerType eglGetProcAddress(const char *procname) // These extensions should not be exposed to applications. They're used // internally by the Android EGL layer. if (!strcmp(procname, "eglSetBlobCacheFuncsANDROID") || !strcmp(procname, "eglDupNativeFenceFDANDROID") || !strcmp(procname, "eglHibernateProcessIMG") || !strcmp(procname, "eglAwakenProcessIMG")) { return NULL; Loading Loading @@ -1190,7 +1191,20 @@ EGLBoolean eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, // ANDROID extensions // ---------------------------------------------------------------------------- /* ANDROID extensions entry-point go here */ EGLint eglDupNativeFenceFDANDROID(EGLDisplay dpy, EGLSyncKHR sync) { clearError(); const egl_display_ptr dp = validate_display(dpy); if (!dp) return EGL_NO_NATIVE_FENCE_FD_ANDROID; EGLint result = EGL_NO_NATIVE_FENCE_FD_ANDROID; egl_connection_t* const cnx = &gEGLImpl; if (cnx->dso && cnx->egl.eglDupNativeFenceFDANDROID) { result = cnx->egl.eglDupNativeFenceFDANDROID(dp->disp.dpy, sync); } return result; } // ---------------------------------------------------------------------------- // NVIDIA extensions Loading opengl/libs/EGL/egl_display.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ static char const * const sExtensionString = // extensions not exposed to applications but used by the ANDROID system // "EGL_ANDROID_recordable " // mandatory // "EGL_ANDROID_blob_cache " // strongly recommended // "EGL_ANDROID_native_fence_sync " // strongly recommended // "EGL_IMG_hibernate_process " // optional extern void initEglTraceLevel(); Loading opengl/libs/EGL/egl_entries.in +1 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ EGL_ENTRY(EGLBoolean, eglGetSyncAttribKHR, EGLDisplay, EGLSyncKHR, EGLint, EGL_ENTRY(EGLBoolean, eglSetSwapRectangleANDROID, EGLDisplay, EGLSurface, EGLint, EGLint, EGLint, EGLint) EGL_ENTRY(EGLClientBuffer, eglGetRenderBufferANDROID, EGLDisplay, EGLSurface) EGL_ENTRY(EGLint, eglDupNativeFenceFDANDROID, EGLDisplay, EGLSyncKHR) /* NVIDIA extensions */ Loading opengl/specs/EGL_ANDROID_native_fence_sync.txt +3 −3 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ New Tokens Accepted by the <attrib_list> parameter of eglCreateSyncKHR, and returned by eglDupNativeFenceFDANDROID in the event of an error: EGL_NO_NATIVE_FENCE_ANDROID -1 EGL_NO_NATIVE_FENCE_FD_ANDROID -1 Returned in <value> when eglGetSyncAttribKHR is called with <attribute> EGL_SYNC_CONDITION_KHR: Loading @@ -90,7 +90,7 @@ Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors) object is created. In this case the EGL_SYNC_NATIVE_FENCE_FD_ANDROID attribute may optionally be specified. If this attribute is specified, it must be set to either a file descriptor that refers to a native fence object or to the value EGL_NO_NATIVE_FENCE_ANDROID. object or to the value EGL_NO_NATIVE_FENCE_FD_ANDROID. The default values for the EGL native fence sync object attributes are as follows: Loading Loading @@ -202,7 +202,7 @@ Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors) The command EGLint eglDupNativeFenceFDANDROID( EGLdisplay dpy, EGLDisplay dpy, EGLSyncKHR sync); duplicates the file descriptor stored in the Loading Loading
opengl/include/EGL/eglext.h +14 −0 Original line number Diff line number Diff line Loading @@ -270,6 +270,20 @@ typedef EGLBoolean (EGLAPIENTRYP PFEGLHIBERNATEPROCESSIMGPROC)(void); typedef EGLBoolean (EGLAPIENTRYP PFEGLAWAKENPROCESSIMGPROC)(void); #endif /* EGL_ANDROID_native_fence_sync */ #ifndef EGL_ANDROID_native_fence_sync #define EGL_ANDROID_native_fence_sync 1 #define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144 #define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145 #define EGL_NO_NATIVE_FENCE_FD_ANDROID -1 #define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146 #ifdef EGL_EGLEXT_PROTOTYPES EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID(EGLDisplay dpy, EGLSyncKHR sync); #endif typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROID) (EGLDisplay dpy, EGLSyncKHR sync); #endif #ifdef __cplusplus } #endif Loading
opengl/libs/EGL/eglApi.cpp +15 −1 Original line number Diff line number Diff line Loading @@ -652,6 +652,7 @@ __eglMustCastToProperFunctionPointerType eglGetProcAddress(const char *procname) // These extensions should not be exposed to applications. They're used // internally by the Android EGL layer. if (!strcmp(procname, "eglSetBlobCacheFuncsANDROID") || !strcmp(procname, "eglDupNativeFenceFDANDROID") || !strcmp(procname, "eglHibernateProcessIMG") || !strcmp(procname, "eglAwakenProcessIMG")) { return NULL; Loading Loading @@ -1190,7 +1191,20 @@ EGLBoolean eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, // ANDROID extensions // ---------------------------------------------------------------------------- /* ANDROID extensions entry-point go here */ EGLint eglDupNativeFenceFDANDROID(EGLDisplay dpy, EGLSyncKHR sync) { clearError(); const egl_display_ptr dp = validate_display(dpy); if (!dp) return EGL_NO_NATIVE_FENCE_FD_ANDROID; EGLint result = EGL_NO_NATIVE_FENCE_FD_ANDROID; egl_connection_t* const cnx = &gEGLImpl; if (cnx->dso && cnx->egl.eglDupNativeFenceFDANDROID) { result = cnx->egl.eglDupNativeFenceFDANDROID(dp->disp.dpy, sync); } return result; } // ---------------------------------------------------------------------------- // NVIDIA extensions Loading
opengl/libs/EGL/egl_display.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ static char const * const sExtensionString = // extensions not exposed to applications but used by the ANDROID system // "EGL_ANDROID_recordable " // mandatory // "EGL_ANDROID_blob_cache " // strongly recommended // "EGL_ANDROID_native_fence_sync " // strongly recommended // "EGL_IMG_hibernate_process " // optional extern void initEglTraceLevel(); Loading
opengl/libs/EGL/egl_entries.in +1 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ EGL_ENTRY(EGLBoolean, eglGetSyncAttribKHR, EGLDisplay, EGLSyncKHR, EGLint, EGL_ENTRY(EGLBoolean, eglSetSwapRectangleANDROID, EGLDisplay, EGLSurface, EGLint, EGLint, EGLint, EGLint) EGL_ENTRY(EGLClientBuffer, eglGetRenderBufferANDROID, EGLDisplay, EGLSurface) EGL_ENTRY(EGLint, eglDupNativeFenceFDANDROID, EGLDisplay, EGLSyncKHR) /* NVIDIA extensions */ Loading
opengl/specs/EGL_ANDROID_native_fence_sync.txt +3 −3 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ New Tokens Accepted by the <attrib_list> parameter of eglCreateSyncKHR, and returned by eglDupNativeFenceFDANDROID in the event of an error: EGL_NO_NATIVE_FENCE_ANDROID -1 EGL_NO_NATIVE_FENCE_FD_ANDROID -1 Returned in <value> when eglGetSyncAttribKHR is called with <attribute> EGL_SYNC_CONDITION_KHR: Loading @@ -90,7 +90,7 @@ Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors) object is created. In this case the EGL_SYNC_NATIVE_FENCE_FD_ANDROID attribute may optionally be specified. If this attribute is specified, it must be set to either a file descriptor that refers to a native fence object or to the value EGL_NO_NATIVE_FENCE_ANDROID. object or to the value EGL_NO_NATIVE_FENCE_FD_ANDROID. The default values for the EGL native fence sync object attributes are as follows: Loading Loading @@ -202,7 +202,7 @@ Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors) The command EGLint eglDupNativeFenceFDANDROID( EGLdisplay dpy, EGLDisplay dpy, EGLSyncKHR sync); duplicates the file descriptor stored in the Loading