Bug 1760464 - block certain Intel graphic cards to prevent crashes while using Intel MFT for HW VP8 decoding. r=media-playback-reviewers,gfx-reviewers,bryce,aosmond

Differential Revision: https://phabricator.services.mozilla.com/D141810
This commit is contained in:
alwu 2022-03-23 23:29:43 +00:00
Родитель 5a3bb65719
Коммит c572486947
4 изменённых файлов: 17 добавлений и 1 удалений

Просмотреть файл

@ -272,7 +272,8 @@ bool WMFDecoderModule::HasH264() {
/* static */
bool WMFDecoderModule::HasVP8() {
return sUsableVPXMFT &&
// Some Intel HW MFTs would crash on VP8 decoding.
return sUsableVPXMFT && gfx::gfxVars::UseVP8HwDecode() &&
CanCreateWMFDecoder<MFT_CATEGORY_VIDEO_DECODER, MFVideoFormat_VP80>();
}

Просмотреть файл

@ -433,6 +433,10 @@ const GfxDeviceFamily* GfxDriverInfo::GetDeviceFamily(DeviceFamily id) {
APPEND_DEVICE(0xa011);
APPEND_DEVICE(0xa012);
break;
case DeviceFamily::Bug1760464:
APPEND_DEVICE(0x0a16); // Intel HD Graphics Family on Haswell Ultrabooks
APPEND_DEVICE(0x041e); // Intel HD Graphics 4400
break;
case DeviceFamily::AmdR600:
// AMD R600 generation GPUs
// R600
@ -950,6 +954,7 @@ const nsAString& GfxDriverInfo::GetDeviceVendor(DeviceFamily id) {
case DeviceFamily::Bug1116812:
case DeviceFamily::Bug1155608:
case DeviceFamily::Bug1207665:
case DeviceFamily::Bug1760464:
vendor = DeviceVendor::Intel;
break;
case DeviceFamily::NvidiaAll:

Просмотреть файл

@ -197,6 +197,7 @@ enum class DeviceFamily : uint8_t {
Bug1155608,
Bug1207665,
Bug1447141,
Bug1760464,
AmdR600,
NvidiaRolloutWebRender,
IntelRolloutWebRender,

Просмотреть файл

@ -1555,6 +1555,15 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
DRIVER_BUILD_ID_LESS_THAN_OR_EQUAL, 4578,
"FEATURE_FAILURE_BUG_1432610");
/**
* Disable VP8 HW decoding on Windows 8.1 on Intel Haswel for some devices.
* See bug 1760464 comment 6.
*/
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows8_1, DeviceFamily::Bug1760464,
nsIGfxInfo::FEATURE_VP8_HW_DECODE, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
DRIVER_LESS_THAN, GfxDriverInfo::allDriverVersions,
"FEATURE_FAILURE_BUG_1760464");
/* Disable D2D on Win7 on Intel HD Graphics on driver <= 8.15.10.2302
* See bug 806786