Bug 1873085 - Prefer disabling acceleration over GPU process with excessive device resets. r=gfx-reviewers,jrmuizel

When we encounter an excessive number of device resets in the GPU
process, we would previously just disable the GPU process over blaming
the acceleration itself. Now we either restart the GPU process in a
last ditch attempt to clear the device state, and failing that, disable
acceleration due to excessive resets.

Differential Revision: https://phabricator.services.mozilla.com/D197721
This commit is contained in:
Andrew Osmond 2024-01-04 21:10:07 +00:00
parent 6facc53fdb
commit 11874b2695

View file

@ -767,10 +767,9 @@ void GPUProcessManager::OnInProcessDeviceReset(bool aTrackThreshold) {
}
void GPUProcessManager::OnRemoteProcessDeviceReset(GPUProcessHost* aHost) {
if (OnDeviceReset(/* aTrackThreshold */ true)) {
DestroyProcess();
DisableGPUProcess("GPU processed experienced too many device resets");
HandleProcessLost();
if (OnDeviceReset(/* aTrackThreshold */ true) &&
!DisableWebRenderConfig(wr::WebRenderError::EXCESSIVE_RESETS,
nsCString())) {
return;
}