Hi Emil, On Friday, 7 June 2019 15:43:48 CEST Emil Velikov wrote: > On Thu, 6 Jun 2019 at 12:10, <[email protected]> wrote: > > > > From: Mathias Fröhlich <[email protected]> > > > > Do not offer a hardware drm backed egl device if no render node > > is available. > As far as I can see current implementation does _not_ add the DRM > device if its missing render node (and a primary one). > Looking at the change below, it's effectively making the primary node > optional. > > Hence the comment does not alight with the code - old and new. Can you > elaborate?
The currently pushed implementation asks drmGetDevices2 for a list of devices and all devices with either a render node or a master node or both are added as hardware device. This check is the bitmasking test with device->available_nodes that you have put near the top of _eglAddDRMDevice. So, if there is no render node the hardware device is added. Later on the filename of the render node as returned from _eglGetDRMDeviceRenderNode is opened which does not succeed in that case. egInitialize fails then which is not nice. Past my change, a pure hardware device is not added if there is no render node. That is decided by this above mentioned bitmask test. The codepath that adds devices via _eglAddDevice from all the platforms is untouched as this still uses the same bitmask as before. I did not check this code path specifically above the call to _eglAddDevice as this patch does not change the behavior of this case. best Mathias > > I have not thought exactly how primary node-less DRM will work out > esp. since the EGL_EXT_device_drm extension explicitly mentions one. > > -Emil > _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
