EGL Dispatching fails with the device handle from eglQueryDisplayAttribEXT
If an application calls eglQueryDisplayAttribEXT
to query the EGL_DEVICE_EXT attribute, but it doesn't call eglQueryDevicesEXT
, then libglvnd won't recognize that EGLDeviceEXT handle when it needs to dispatch a function based on a device.
The problem is that libglvnd initializes its device list, and the vendor associated with each device, only when the application calls eglQueryDevicesEXT
.
To fix that, we'll need is to add a dispatch function for eglQueryDisplayAttribEXT
to libglvnd, and keep track of the EGLDeviceEXT handle that it returns. We also don't want to have to call any vendor's eglQueryDevicesEXT
internally if we don't have to, because that could be a very expensive operation.