From 950825cb365e30dd22bd3fda39e082fbd694e1bb Mon Sep 17 00:00:00 2001 From: Leandro Ribeiro Date: Thu, 10 Aug 2023 09:52:53 -0300 Subject: [PATCH] egl: simplify _eglAddDRMDevice() We only create EGLDevice's for render-capable devices, so it's better to document that in the code and simplify this function. Signed-off-by: Leandro Ribeiro Reviewed-by: Eric Engestrom Reviewed-by: Erik Faye-Lund Reviewed-by: Simon Ser Part-of: --- src/egl/main/egldevice.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/egl/main/egldevice.c b/src/egl/main/egldevice.c index 2678fcdfad8..afeb38dc4c9 100644 --- a/src/egl/main/egldevice.c +++ b/src/egl/main/egldevice.c @@ -112,9 +112,16 @@ _eglAddDRMDevice(drmDevicePtr device) { _EGLDevice *dev; - if ((device->available_nodes & - (1 << DRM_NODE_PRIMARY | 1 << DRM_NODE_RENDER)) == 0) - return -1; + assert(device->available_nodes & ((1 << DRM_NODE_RENDER))); + + /* TODO: uncomment this assert, which is a sanity check. + * + * assert(device->available_nodes & ((1 << DRM_NODE_PRIMARY))); + * + * DRM shim does not expose a primary node, so the CI would fail if we had + * this assert. DRM shim is being used to run shader-db. We need to + * investigate what should be done (probably fixing DRM shim). + */ dev = _eglGlobal.DeviceList; @@ -135,16 +142,11 @@ _eglAddDRMDevice(drmDevicePtr device) return -1; dev = dev->Next; - dev->extensions = "EGL_EXT_device_drm"; + dev->extensions = "EGL_EXT_device_drm EGL_EXT_device_drm_render_node"; dev->EXT_device_drm = EGL_TRUE; + dev->EXT_device_drm_render_node = EGL_TRUE; dev->device = device; - /* TODO: EGL_EXT_device_drm_render_node support for kmsro + renderonly */ - if (device->available_nodes & (1 << DRM_NODE_RENDER)) { - dev->extensions = "EGL_EXT_device_drm EGL_EXT_device_drm_render_node"; - dev->EXT_device_drm_render_node = EGL_TRUE; - } - return 0; } #endif