Name

    ANGLE_device_cgl

Name Strings

    EGL_ANGLE_device_cgl

Contributors

    Ken Russell   (kbr 'at' google.com)
    Geoff Lang    (geofflang 'at' google.com)

Contact

    Ken Russell   (kbr 'at' google.com)

Status

    Draft

Version

    Version 1, October 4, 2019

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 macOS internally uses an OpenGL context allocated via CGL.
    This extension defines a mapping from an EGL device to the underlying
    CGLContextObj and its associated CGLPixelFormatObj, 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_CGL_CONTEXT_ANGLE           0x3485
        EGL_CGL_PIXEL_FORMAT_ANGLE      0x3486

Add a new section 2.1.3 (CGL Devices) after 2.1.2 (Devices)

    On macOS the underlying CGLContextObj and CGLPixelFormatObj can be queried
    from the EGL device. The intented purpose is to allow applications to create
    new CGL contexts which share resources with this one.

Changes to section 3.2 (Devices)

    Replace the paragraph immediately following the prototype for
    eglQueryDeviceAttribEXT:

    <attribute> may be either EGL_CGLCONTEXT_DEVICE_ANGLE or
    EGL_CGLPIXELFORMAT_DEVICE_ANGLE.  On success, EGL_TRUE is returned, and a
    valid CGLContextObj or CGLPixelFormatObj corresponding to the EGL device is
    returned in <value>. These objects are compatible with OpenGL and CGL API
    functions. If the EGL device is not currently associated with a CGL context,
    EGL_BAD_ATTRIBUTE is returned, and <value> is left unchanged.

Issues

    None

Revision History

    Version 1, October 4, 2019 (Ken Russell)
        - Initial Draft
    Version 2, October 8, 2019 (Ken Russell)
        - Address feedback from Geoff Lang
