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