Skip to content
  • Andrew Osmond's avatar
    Bug 1680512 - Prefer EGL for glxtest detection and fallback to GLX if unavailable. r=rmader · b364e173
    Andrew Osmond authored
    As we make the transition to using EGL over GLX, we will need our
    detection code to be sufficient without EGL to determine the device in
    use. This patch makes us always use the EGL testing code over the GLX
    testing code, regardless of the pref/envvar setting.
    
    At the very least, we need to know the vendor ID of the device in use.
    We can determine this if there is only one GPU on the PCI list, if we
    get a driver name from Mesa, or if it is a proprietary driver (i.e.
    NVIDIA) which includes its name in the vendor ID. If we know the vendor
    ID, we can usually derive the device ID from the PCI list.
    
    We now also track which path glxtest took. If we successfully did the
    test via EGL, then we will allow the pref/envvar to use EGL instead of
    GLX. If the test reverted to GLX, then it will use GLX regardless of the
    pref/envvar. This is necessary because we need to know if the libraries
    are available or not -- some systems may be missing one or the other.
    
    Differential Revision: https://phabricator.services.mozilla.com/D102933
    b364e173