Hash :
40dc8c10
        
        Author :
  
        
        Date :
2017-02-14T10:41:32
        
      
Release the global texture manager with the last referencing context. This ensures that when the global texture manager is released, there is a valid context. BUG=angleproject:1639 Change-Id: I1b75885e9dc02b607bb1a386de394f6087429f5d Reviewed-on: https://chromium-review.googlesource.com/442074 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
Name
    ANGLE_display_texture_share_group
Name Strings
    EGL_ANGLE_display_texture_share_group
Contributors
    Geoff Lang, Google
Contacts
    Geoff Lang, Google (geofflang 'at' google.com)
Status
    Draft
Version
    Version 1, February 7, 2017
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
    texture objects with other contexts owned by the same display. This method
    of sharing textures 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_TEXTURE_SHARE_GROUP_ANGLE    0x33AF
Additions to the EGL 1.5 Specification
    Add a new section entitled "OpenGL ES Global Texture Share Groups"
    to section 3.7.1:
    "If the attribute EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE is set to EGL_TRUE,
    a context that shares textures with other contexts owned by the same
    display and created with EGL_DISPLAY_TEXTURE_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_TEXTURE_SHARE_GROUP_ANGLE.
    The default value of EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE is EGL_FALSE."
Issues
    (1) What happens to the shared textures when a context in the global share
        group is destroyed?
    RESOLOVED: When the last context in the global texture share group is
    destroyed, all textures in the global texture share group are released. If
    a new context is created in the global texture share group, no textures
    will exist.
    This mirrors how regular share groups work, releasing all objects when the
    last context is destroyed.
Revision History
    Version 1, 2017/02/07 - first draft.