Bug 1896823 - Block reusing decoder device on Intel gen12 r=gfx-reviewers,bradwerth

With Intel Gen12, WMF hardware decoder performance becomes worse with reusing decoder device. Until Bug 1893427 is addressed, it is necessary to block reusing decoder device on Intel gen12.

Differential Revision: https://phabricator.services.mozilla.com/D210420
This commit is contained in:
sotaro 2024-05-15 07:53:00 +00:00
Родитель ceff7deb44
Коммит 95c8712328
3 изменённых файлов: 79 добавлений и 0 удалений

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

@ -358,6 +358,77 @@ const GfxDeviceFamily* GfxDriverInfo::GetDeviceFamily(DeviceFamily id) {
case DeviceFamily::IntelMobileHDGraphics:
APPEND_DEVICE(0x0046); /* IntelMobileHDGraphics */
break;
case DeviceFamily::IntelGen12:
// Rocket Lake
APPEND_DEVICE(0x4C8C); // rkl_gt05
APPEND_DEVICE(0x4C8A); // rkl_gt1
APPEND_DEVICE(0x4C8B); // rkl_gt1
APPEND_DEVICE(0x4C90); // rkl_gt1
APPEND_DEVICE(0x4C9A); // rkl_gt1
// Alder Lake
APPEND_DEVICE(0x4683); // adl_gt05
APPEND_DEVICE(0x4693); // adl_gt05
APPEND_DEVICE(0x4680); // adl_gt1
APPEND_DEVICE(0x4681); // adl_gt1
APPEND_DEVICE(0x4682); // adl_gt1
APPEND_DEVICE(0x4688); // adl_gt1
APPEND_DEVICE(0x4689); // adl_gt1
APPEND_DEVICE(0x4690); // adl_gt1
APPEND_DEVICE(0x4691); // adl_gt1
APPEND_DEVICE(0x4692); // adl_gt1
APPEND_DEVICE(0x4626); // adl_gt2
APPEND_DEVICE(0x4628); // adl_gt2
APPEND_DEVICE(0x462A); // adl_gt2
APPEND_DEVICE(0x46A0); // adl_gt2
APPEND_DEVICE(0x46A1); // adl_gt2
APPEND_DEVICE(0x46A2); // adl_gt2
APPEND_DEVICE(0x46A3); // adl_gt2
APPEND_DEVICE(0x46A6); // adl_gt2
APPEND_DEVICE(0x46A8); // adl_gt2
APPEND_DEVICE(0x46AA); // adl_gt2
APPEND_DEVICE(0x46B0); // adl_gt2
APPEND_DEVICE(0x46B1); // adl_gt2
APPEND_DEVICE(0x46B2); // adl_gt2
APPEND_DEVICE(0x46B3); // adl_gt2
APPEND_DEVICE(0x46C0); // adl_gt2
APPEND_DEVICE(0x46C1); // adl_gt2
APPEND_DEVICE(0x46C2); // adl_gt2
APPEND_DEVICE(0x46C3); // adl_gt2
APPEND_DEVICE(0x46D0); // adl_n
APPEND_DEVICE(0x46D1); // adl_n
APPEND_DEVICE(0x46D2); // adl_n
// Tiger Lake
APPEND_DEVICE(0x9A60); // tgl_gt1
APPEND_DEVICE(0x9A68); // tgl_gt1
APPEND_DEVICE(0x9A70); // tgl_gt1
APPEND_DEVICE(0x9A40); // tgl_gt2
APPEND_DEVICE(0x9A49); // tgl_gt2
APPEND_DEVICE(0x9A59); // tgl_gt2
APPEND_DEVICE(0x9A78); // tgl_gt2
APPEND_DEVICE(0x9AC0); // tgl_gt2
APPEND_DEVICE(0x9AC9); // tgl_gt2
APPEND_DEVICE(0x9AD9); // tgl_gt2
APPEND_DEVICE(0x9AF8); // tgl_gt2
// Raptop Lake
APPEND_DEVICE(0xA780); // rpl
APPEND_DEVICE(0xA781); // rpl
APPEND_DEVICE(0xA782); // rpl
APPEND_DEVICE(0xA783); // rpl
APPEND_DEVICE(0xA788); // rpl
APPEND_DEVICE(0xA789); // rpl
APPEND_DEVICE(0xA720); // rpl_p
APPEND_DEVICE(0xA721); // rpl_p
APPEND_DEVICE(0xA7A0); // rpl_p
APPEND_DEVICE(0xA7A1); // rpl_p
APPEND_DEVICE(0xA7A8); // rpl_p
APPEND_DEVICE(0xA7A9); // rpl_p
// DG1
APPEND_DEVICE(0x4905);
APPEND_DEVICE(0x4906);
APPEND_DEVICE(0x4907);
APPEND_DEVICE(0x4908);
APPEND_DEVICE(0x4909);
break;
case DeviceFamily::NvidiaBlockD3D9Layers:
// Glitches whilst scrolling (see bugs 612007, 644787, 645872)
APPEND_DEVICE(0x00f3); /* NV43 [GeForce 6200 (TM)] */
@ -651,6 +722,7 @@ const nsAString& GfxDriverInfo::GetDeviceVendor(DeviceFamily id) {
case DeviceFamily::IntelKabyLake:
case DeviceFamily::IntelHD520:
case DeviceFamily::IntelMobileHDGraphics:
case DeviceFamily::IntelGen12:
case DeviceFamily::IntelWebRenderBlocked:
case DeviceFamily::Bug1116812:
case DeviceFamily::Bug1155608:

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

@ -181,6 +181,7 @@ enum class DeviceFamily : uint8_t {
IntelKabyLake,
IntelHD520,
IntelMobileHDGraphics,
IntelGen12,
NvidiaBlockD3D9Layers,
RadeonX1000,
RadeonCaicos,

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

@ -1808,6 +1808,12 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
V(10, 18, 15, 4256), V(10, 18, 15, 4293), "FEATURE_FAILURE_BUG_1833809",
"Intel driver 10.18.15.*");
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows, DeviceFamily::IntelGen12,
nsIGfxInfo::FEATURE_REUSE_DECODER_DEVICE,
nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_COMPARISON_IGNORED,
V(0, 0, 0, 0), "FEATURE_FAILURE_BUG_1896823");
////////////////////////////////////
// FEATURE_OVERLAY_VP_AUTO_HDR