1Name 2 3 ANGLE_display_semaphore_share_group 4 5Name Strings 6 7 EGL_ANGLE_display_semaphore_share_group 8 9Contributors 10 11 Peng Huang, Google 12 13Contacts 14 15 Peng Huang, Google (penghuang 'at' google.com) 16 17Status 18 19 Draft 20 21Version 22 23 Version 1, July 27, 2020 24 25Number 26 27 EGL Extension TBD 28 29Dependencies 30 31 This extension is written against the wording of the EGL 1.5 specification. 32 33Overview 34 35 This extension allows for the creation of OpenGL ES contexts that share 36 semaphore objects with other contexts owned by the same display. This method 37 of sharing semaphores can be used in conjuction with regular share groups. 38 39New Types 40 41 None 42 43New Procedures and Functions 44 45 None 46 47New Tokens 48 49 Accepted as an attribute name in the <*attrib_list> argument to 50 eglCreateContext: 51 52 EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE 0x348D 53 54Additions to the EGL 1.5 Specification 55 56 Add a new section entitled "OpenGL ES Global Semaphore Share Groups" 57 to section 3.7.1: 58 59 "If the attribute EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE is set to EGL_TRUE, 60 a context that shares semaphores with other contexts owned by the same 61 display and created with EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE set to 62 EGL_TRUE will be created. If the share_context parameter to 63 eglCreateContext is not NULL, all contexts within the share group must have 64 been created with the same value of EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE. 65 The default value of EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE is EGL_FALSE." 66 67Issues 68 69 (1) What happens to the shared semaphores when a context in the global share 70 group is destroyed? 71 72 RESOLOVED: When the last context in the global semaphore share group is 73 destroyed, all semaphores in the global semaphore share group are released. If 74 a new context is created in the global semaphore share group, no semaphores 75 will exist. 76 77 This mirrors how regular share groups work, releasing all objects when the 78 last context is destroyed. 79 80Revision History 81 82 Version 1, 2020/07/27 - first draft. 83