Closed Bug 1689203 Opened 4 years ago Closed 4 years ago

Fallback to Software WebRender if disabling WebRender due to runtime error

Categories

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

Desktop
All
enhancement

Tracking

()

RESOLVED FIXED
87 Branch
Tracking Status
firefox87 --- fixed

People

(Reporter: aosmond, Assigned: aosmond)

References

(Blocks 1 open bug, Regressed 1 open bug)

Details

Attachments

(1 file)

If we are disabling WebRender, e.g. due to an init failure or GPU process crash, we should permit falling back to Software WebRender. It should only fallback where Software WebRender is already permitted for that user, i.e. it should honour the allowlist settings.

This should also consider cases where SW-WR + D3D11 compositor is being disabled; we either want to go to pure SW-WR or basic. If we are disabling SW-WR, make sure basic still works.

Summary: Fallback to Software WebRender if disabling WebRender → Fallback to Software WebRender if disabling WebRender due to runtime error

We can disable WebRender because the GPU process crashed, or we
encountered a graceful runtime error in WebRender. This patch adds two
new prefs to control how that fallback works.

gfx.webrender.fallback.software-d3d11 controls if WebRender falls back
to Software WebRender + D3D11 compositing. If true, and the user is
allowed to get Software WebRender, we will fallback to Software
WebRender with the D3D11 compositor first.

gfx.webrender.fallback.software controls if WebRender falls back to
Software WebRender. If true, and the user is allowed to get Software
WebRender, we will fallback to Software WebRender without the D3D11
compositor.

gfx.webrender.fallback.basic controls if WebRender or Software
WebRender falls back to Basic. If true, it falls back to Basic.
Otherwise it continues to use Software WebRender without the D3D11
compositor. Note that this means OpenGL on Android.

This patch also means that gfx.webrender.all=true and MOZ_WEBRENDER=1
no longer disables Software WebRender. It will still prefer (Hardware)
WebRender but we want to allow fallback to Software WebRender for
configurations that forced WebRender on.

Pushed by aosmond@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a3c9fce26dd1 Allow fallback from WebRender to Software WebRender. r=jrmuizel
Pushed by aosmond@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7ba7ce64acae Allow fallback from WebRender to Software WebRender. r=jrmuizel
Pushed by aosmond@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8522d4a89bbd Allow fallback from WebRender to Software WebRender. r=jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 87 Branch
Flags: needinfo?(aosmond)
Regressions: 1690280
Regressions: 1693208
Regressions: 1693636
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: