зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1762025 - Block GPU process on Android versions 12 and above. r=gfx-reviewers,aosmond
On Android version 12, it appears as if the EGL context does not correctly get detached from a Surface when its process dies. This means that subsequent attempts to create an EGL context fail, meaning we cannot render anything. This results in a completely unusable browser following a GPU process crash, which is worse than the alternative of a parent process crash. Block the GPU process on Android 12 and above until we have found a workaround. Differential Revision: https://phabricator.services.mozilla.com/D142452
This commit is contained in:
Родитель
376cbd6128
Коммит
dbde42a288
|
@ -697,6 +697,20 @@ nsresult GfxInfo::GetFeatureStatusImpl(
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
if (aFeature == FEATURE_GPU_PROCESS) {
|
||||
// On Android 12 the EGL context isn't correctly detached from the Surface
|
||||
// when the process dies, meaning we are subsequently unable to create new
|
||||
// EGL contexts. Block the GPU process on Android 12 and above until we find
|
||||
// a solution. See bug 1762025.
|
||||
if (mSDKVersion >= 31) {
|
||||
*aStatus = nsIGfxInfo::FEATURE_BLOCKED_OS_VERSION;
|
||||
aFailureId = "FEATURE_FAILURE_ANDROID_12";
|
||||
} else {
|
||||
*aStatus = nsIGfxInfo::FEATURE_STATUS_OK;
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
return GfxInfoBase::GetFeatureStatusImpl(
|
||||
aFeature, aStatus, aSuggestedDriverVersion, aDriverInfo, aFailureId, &os);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче