102f4aeb0Sopenharmony_ciName
202f4aeb0Sopenharmony_ci
302f4aeb0Sopenharmony_ci    NV_device_cuda
402f4aeb0Sopenharmony_ci
502f4aeb0Sopenharmony_ciName Strings
602f4aeb0Sopenharmony_ci
702f4aeb0Sopenharmony_ci    EGL_NV_device_cuda
802f4aeb0Sopenharmony_ci
902f4aeb0Sopenharmony_ciContributors
1002f4aeb0Sopenharmony_ci
1102f4aeb0Sopenharmony_ci    Michael Chock
1202f4aeb0Sopenharmony_ci    James Jones
1302f4aeb0Sopenharmony_ci
1402f4aeb0Sopenharmony_ciContact
1502f4aeb0Sopenharmony_ci
1602f4aeb0Sopenharmony_ci    Michael Chock (mchock 'at' nvidia.com)
1702f4aeb0Sopenharmony_ci
1802f4aeb0Sopenharmony_ciStatus
1902f4aeb0Sopenharmony_ci
2002f4aeb0Sopenharmony_ci    Complete
2102f4aeb0Sopenharmony_ci
2202f4aeb0Sopenharmony_ciVersion
2302f4aeb0Sopenharmony_ci
2402f4aeb0Sopenharmony_ci    Version 1, June 21, 2014
2502f4aeb0Sopenharmony_ci
2602f4aeb0Sopenharmony_ciNumber
2702f4aeb0Sopenharmony_ci
2802f4aeb0Sopenharmony_ci    EGL Extension #74
2902f4aeb0Sopenharmony_ci
3002f4aeb0Sopenharmony_ciExtension Type
3102f4aeb0Sopenharmony_ci
3202f4aeb0Sopenharmony_ci    EGL device extension
3302f4aeb0Sopenharmony_ci
3402f4aeb0Sopenharmony_ciDependencies
3502f4aeb0Sopenharmony_ci
3602f4aeb0Sopenharmony_ci    This extension is written against the language of EGL 1.5 as
3702f4aeb0Sopenharmony_ci    modified by EGL_EXT_device_base.
3802f4aeb0Sopenharmony_ci
3902f4aeb0Sopenharmony_ci    EGL_EXT_device_base is required.
4002f4aeb0Sopenharmony_ci
4102f4aeb0Sopenharmony_ciOverview
4202f4aeb0Sopenharmony_ci
4302f4aeb0Sopenharmony_ci    EGL and CUDA both have the capability to drive multiple devices,
4402f4aeb0Sopenharmony_ci    such as GPUs, within a single system. To interoperate with one
4502f4aeb0Sopenharmony_ci    another, both APIs must have compatible notions of such devices.
4602f4aeb0Sopenharmony_ci    This extension defines a mapping from an EGL device to a CUDA device
4702f4aeb0Sopenharmony_ci    enumerant.
4802f4aeb0Sopenharmony_ci
4902f4aeb0Sopenharmony_ciIP Status
5002f4aeb0Sopenharmony_ci
5102f4aeb0Sopenharmony_ci    No known claims.
5202f4aeb0Sopenharmony_ci
5302f4aeb0Sopenharmony_ciNew Types
5402f4aeb0Sopenharmony_ci
5502f4aeb0Sopenharmony_ci    None.
5602f4aeb0Sopenharmony_ci
5702f4aeb0Sopenharmony_ciNew Procedures and Functions
5802f4aeb0Sopenharmony_ci
5902f4aeb0Sopenharmony_ci    None.
6002f4aeb0Sopenharmony_ci
6102f4aeb0Sopenharmony_ciNew Tokens
6202f4aeb0Sopenharmony_ci
6302f4aeb0Sopenharmony_ci    Accepted as a queried <attribute> in eglQueryDeviceAttribEXT:
6402f4aeb0Sopenharmony_ci
6502f4aeb0Sopenharmony_ci        EGL_CUDA_DEVICE_NV              0x323A
6602f4aeb0Sopenharmony_ci
6702f4aeb0Sopenharmony_ciAdd a new section 2.1.3 (CUDA Devices) after 2.1.2 (Devices)
6802f4aeb0Sopenharmony_ci
6902f4aeb0Sopenharmony_ci   "Somewhat analogous to an EGL device, a CUDA device establishes a
7002f4aeb0Sopenharmony_ci    namespace for CUDA operations. In the CUDA API, such a device is
7102f4aeb0Sopenharmony_ci    represented by a C int. For more details, see the CUDA
7202f4aeb0Sopenharmony_ci    documentation."
7302f4aeb0Sopenharmony_ci
7402f4aeb0Sopenharmony_ciChanges to section 3.2 (Device Enumeration)
7502f4aeb0Sopenharmony_ci
7602f4aeb0Sopenharmony_ci    Replace the paragraph immediately following the prototype for
7702f4aeb0Sopenharmony_ci    eglQueryDeviceAttribEXT:
7802f4aeb0Sopenharmony_ci
7902f4aeb0Sopenharmony_ci   "The only valid value of <attribute> is EGL_CUDA_DEVICE_NV. On
8002f4aeb0Sopenharmony_ci    success, EGL_TRUE is returned, and a valid CUDA device handle
8102f4aeb0Sopenharmony_ci    corresponding to the EGL device is returned in <value>. This handle
8202f4aeb0Sopenharmony_ci    is compatible with CUDA API functions."
8302f4aeb0Sopenharmony_ci
8402f4aeb0Sopenharmony_ciIssues
8502f4aeb0Sopenharmony_ci
8602f4aeb0Sopenharmony_ci    None
8702f4aeb0Sopenharmony_ci
8802f4aeb0Sopenharmony_ciRevision History
8902f4aeb0Sopenharmony_ci
9002f4aeb0Sopenharmony_ci    Version 1, 2014/06/24 (Michael Chock)
9102f4aeb0Sopenharmony_ci        - initial version.
92