Edit

kc3-lang/angle/extensions/EGL_ANGLE_display_semaphore_share_group.txt

Branch :

  • Show log

    Commit

  • Author : Peng Huang
    Date : 2020-07-27 13:19:27
    Hash : 4cf2501c
    Message : Add extension EGL_ANGLE_display_semaphore_share_group For sharing semaphores globally. Bug: angleproject:4877 Change-Id: I472e0902fd04ca8350d74e6c0ae6925ee930ccf9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2319370 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>

  • extensions/EGL_ANGLE_display_semaphore_share_group.txt
  • 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.