1Name 2 3 EXT_device_drm_render_node 4 5Name Strings 6 7 EXT_device_drm_render_node 8 9Contributors 10 11 James Jones 12 Simon Ser 13 Daniel Stone 14 15Contacts 16 17 James Jones, NVIDIA (jajones 'at' nvidia.com) 18 19Status 20 21 Draft 22 23Version 24 25 Version 1 - June 4th, 2021 26 27Number 28 29 EGL Extension #144 30 31Extension Type 32 33 EGL device extension 34 35Dependencies 36 37 Written based on the wording of the EGL 1.5 specification. 38 39 EGL_EXT_device_query is required. 40 41 EGL_EXT_device_drm interacts with this extension. 42 43Overview 44 45 The EGL_EXT_device_drm extension provided a method for applications 46 to query the DRM device node file associated with a given 47 EGLDeviceEXT object. However, it was not clear whether it referred to 48 the primary or render device node. This extension adds an enum to 49 refer explicitly to the render device node and defines the existing 50 EGL_DRM_DEVICE_FILE_EXT as explicitly refering to the primary device 51 node. 52 53New Types 54 55 None 56 57New Procedures and Functions 58 59 None 60 61New Tokens 62 63 Accepted as the <name> parameter of eglQueryDeviceStringEXT 64 65 EGL_DRM_RENDER_NODE_FILE_EXT 0x3377 66 67Changes to section 3.2 (Devices) 68 69 Add the following paragraph to the description of 70 eglQueryDeviceStringEXT: 71 72 "To obtain a DRM device file for the render node associated with an 73 EGLDeviceEXT, call eglQueryDeviceStringEXT with <name> set to 74 EGL_DRM_RENDER_NODE_FILE_EXT. The function will return a pointer to 75 a string containing the name of the device file (e.g. 76 "/dev/dri/renderDN"), or NULL if the device has no associated DRM 77 render node." 78 79 If EGL_EXT_device_drm is present, append the following to the 80 paragraph in the same section describing EGL_DRM_DEVICE_FILE_EXT: 81 82 "If the EGL_EXT_device_drm_render_node extension is supported, the 83 value returned will refer to a primary device node, and will be NULL 84 if the device has no associated DRM primary node. If 85 EGL_EXT_device_drm_render_node is not supported, the value returned 86 will refer to a primary device node if there exists one associated 87 with the device. Otherwise, it will refer to a render device node if 88 there exists one associated with the device. If neither exists, NULL 89 is returned." 90 91Issues 92 93 1) Should this extension clarify that EGL_DRM_DEVICE_FILE_EXT refers 94 only to primary device nodes? 95 96 RESOLVED: Yes, but only when this extension is supported. Existing 97 implementations return render node paths for that string when no 98 suitable primary node is available. 99 100Revision History: 101 102 #2 (June 8th, 2021) James Jones 103 - Added issue #1 and related spec changes. 104 105 #1 (June 4th, 2021) James Jones 106 - Initial draft. 107