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:
@@ -272,7 +272,8 @@ bool WMFDecoderModule::HasH264() {
|
|||||||
|
|
||||||
/* static */
|
/* static */
|
||||||
bool WMFDecoderModule::HasVP8() {
|
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>();
|
CanCreateWMFDecoder<MFT_CATEGORY_VIDEO_DECODER, MFVideoFormat_VP80>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -433,6 +433,10 @@ const GfxDeviceFamily* GfxDriverInfo::GetDeviceFamily(DeviceFamily id) {
|
|||||||
APPEND_DEVICE(0xa011);
|
APPEND_DEVICE(0xa011);
|
||||||
APPEND_DEVICE(0xa012);
|
APPEND_DEVICE(0xa012);
|
||||||
break;
|
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:
|
case DeviceFamily::AmdR600:
|
||||||
// AMD R600 generation GPUs
|
// AMD R600 generation GPUs
|
||||||
// R600
|
// R600
|
||||||
@@ -950,6 +954,7 @@ const nsAString& GfxDriverInfo::GetDeviceVendor(DeviceFamily id) {
|
|||||||
case DeviceFamily::Bug1116812:
|
case DeviceFamily::Bug1116812:
|
||||||
case DeviceFamily::Bug1155608:
|
case DeviceFamily::Bug1155608:
|
||||||
case DeviceFamily::Bug1207665:
|
case DeviceFamily::Bug1207665:
|
||||||
|
case DeviceFamily::Bug1760464:
|
||||||
vendor = DeviceVendor::Intel;
|
vendor = DeviceVendor::Intel;
|
||||||
break;
|
break;
|
||||||
case DeviceFamily::NvidiaAll:
|
case DeviceFamily::NvidiaAll:
|
||||||
|
|||||||
@@ -197,6 +197,7 @@ enum class DeviceFamily : uint8_t {
|
|||||||
Bug1155608,
|
Bug1155608,
|
||||||
Bug1207665,
|
Bug1207665,
|
||||||
Bug1447141,
|
Bug1447141,
|
||||||
|
Bug1760464,
|
||||||
AmdR600,
|
AmdR600,
|
||||||
NvidiaRolloutWebRender,
|
NvidiaRolloutWebRender,
|
||||||
IntelRolloutWebRender,
|
IntelRolloutWebRender,
|
||||||
|
|||||||
@@ -1555,6 +1555,15 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
|
|||||||
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
|
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
|
||||||
DRIVER_BUILD_ID_LESS_THAN_OR_EQUAL, 4578,
|
DRIVER_BUILD_ID_LESS_THAN_OR_EQUAL, 4578,
|
||||||
"FEATURE_FAILURE_BUG_1432610");
|
"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
|
/* Disable D2D on Win7 on Intel HD Graphics on driver <= 8.15.10.2302
|
||||||
* See bug 806786
|
* See bug 806786
|
||||||
|
|||||||
Reference in New Issue
Block a user