Name ANGLE_display_semaphore_share_group Name Strings EGL_ANGLE_display_semaphore_share_group Contributors Peng Huang, Google Contacts Peng Huang, Google (penghuang 'at' google.com) Status Draft Version Version 1, July 27, 2020 Number EGL Extension TBD Dependencies This extension is written against the wording of the EGL 1.5 specification. Overview This extension allows for the creation of OpenGL ES contexts that share semaphore objects with other contexts owned by the same display. This method of sharing semaphores can be used in conjuction with regular share groups. New Types None New Procedures and Functions None New Tokens Accepted as an attribute name in the <*attrib_list> argument to eglCreateContext: EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE 0x348D Additions to the EGL 1.5 Specification Add a new section entitled "OpenGL ES Global Semaphore Share Groups" to section 3.7.1: "If the attribute EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE is set to EGL_TRUE, a context that shares semaphores with other contexts owned by the same display and created with EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE set to EGL_TRUE will be created. If the share_context parameter to eglCreateContext is not NULL, all contexts within the share group must have been created with the same value of EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE. The default value of EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE is EGL_FALSE." Issues (1) What happens to the shared semaphores when a context in the global share group is destroyed? RESOLOVED: When the last context in the global semaphore share group is destroyed, all semaphores in the global semaphore share group are released. If a new context is created in the global semaphore share group, no semaphores will exist. This mirrors how regular share groups work, releasing all objects when the last context is destroyed. Revision History Version 1, 2020/07/27 - first draft.