Hash :
12ce8f68
        
        Author :
  
        
        Date :
2020-01-03T16:40:06
        
      
Upstream WebKit's iOS port of ANGLE. Added the EAGL backend authored by Dean Jackson from Apple, and the refactoring changes needed to support it side-by-side with the macOS backend. Ran "git cl format" against these diffs. Defined the EGL_ANGLE_device_eagl extension and allocated an enum out of ANGLE's reserved range. The iOS backend is not yet included in any of the GN files. Bug: angleproject:4263 Change-Id: I631c32930433c03bb16a242955ffedf55174bb29 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1987278 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: James Darpinian <jdarpinian@chromium.org> Commit-Queue: Kenneth Russell <kbr@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 83 84 85 86 87 88 89
Name
    ANGLE_device_eagl
Name Strings
    EGL_ANGLE_device_eagl
Contributors
    Dean Jackson  (dino 'at' apple.com)
    Ken Russell   (kbr 'at' google.com)
Contact
    Ken Russell   (kbr 'at' google.com)
Status
    Draft
Version
    Version 1, January 3, 2020
Number
    EGL Extension #XXX
Extension Type
    EGL device extension
Dependencies
    This extension is written against the language of EGL 1.5 as
    modified by EGL_EXT_device_query.
    EGL_EXT_device_query is required.
Overview
    ANGLE on iOS internally uses an OpenGL ES context allocated via EAGL.
    This extension defines a mapping from an EGL device to the underlying
    EAGLContext, after it's been queried from an EGL display.
IP Status
    No known claims.
New Types
    None.
New Procedures and Functions
    None.
New Tokens
    Accepted as a queried <attribute> in eglQueryDeviceAttribEXT:
        EGL_EAGL_CONTEXT_ANGLE          0x348C
Add a new section 2.1.3 (EAGL Devices) after 2.1.2 (Devices)
    On iOS the underlying EAGLContext can be queried from the EGL device. The
    intented purpose is to allow applications to create new EAGLContexts which
    share resources with this one.
Changes to section 3.2 (Devices)
    Replace the paragraph immediately following the prototype for
    eglQueryDeviceAttribEXT:
    <attribute> must be EGL_EAGL_CONTEXT_ANGLE.  On success, EGL_TRUE is
    returned, and a valid EAGLContext corresponding to the EGL device is
    returned in <value>. This object is compatible with OpenGL ES and EAGL API
    functions. If the EGL device is not currently associated with an
    EAGLContext, EGL_BAD_ATTRIBUTE is returned, and <value> is left unchanged.
Issues
    None
Revision History
    Version 1, January 3, 2020 (Ken Russell)
        - Initial Draft