Closed Bug 1680512 Opened 4 years ago Closed 4 years ago

Fallback to GLX if EGL is unavailable when MOZ_X11_EGL/pref set

Categories

(Core :: Graphics: WebRender, defect, P3)

Desktop
Linux
defect

Tracking

()

RESOLVED FIXED
87 Branch
Tracking Status
firefox87 --- fixed

People

(Reporter: aosmond, Assigned: aosmond)

References

(Regressed 1 open bug)

Details

Attachments

(1 file)

As revealed in our perf testing config, the EGL library might not be available in some configurations. If we want to default to preferring it, we need to verify the library is present (probably in glxtest) and notify the main process what libraries are available. This would override the envvar/pref.

Depends on: 1678917

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.

Pushed by aosmond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/98349a6be0f6
Prefer EGL for glxtest detection and fallback to GLX if unavailable. r=rmader

Typo on OSX only.

Flags: needinfo?(aosmond)
Pushed by aosmond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c2a14298ecf3
Prefer EGL for glxtest detection and fallback to GLX if unavailable. r=rmader
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 87 Branch
Regressions: 1688873
Regressions: 1714069
Regressions: 1717715
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: