Bug 1767212 - Enable avoid copying hardware decoded video on all GPU on Window on nightly r=jrmuizel,gfx-reviewers
authorsotaro <sotaro.ikeda.g@gmail.com>
Sat, 21 May 2022 16:00:58 +0000
changeset 618429 ed6041e02757e8b30380ebfb1783de4574e1dbbb
parent 618426 bd92b2280e0d168e49f42ae48a6a7cb7f949aa93
child 618430 55417342979d9b6101e8f9d4021ce8d9166b5a9d
push id39730
push usermlaza@mozilla.com
push dateSun, 22 May 2022 09:46:33 +0000
treeherdermozilla-central@4e5c523ed774 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjrmuizel, gfx-reviewers
bugs1767212, 1763280
milestone102.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1767212 - Enable avoid copying hardware decoded video on all GPU on Window on nightly r=jrmuizel,gfx-reviewers Avoid copying hardware decoded video is already enabled on intel GPU on nightly by Bug 1763280. This bug is for enabling it on nightly on another GPUs on Windows. Blocked drivers are from chromium's "disable_dxgi_zero_copy_video" in gpu_driver_bug_list.json Differential Revision: https://phabricator.services.mozilla.com/D145194
widget/GfxDriverInfo.cpp
widget/GfxDriverInfo.h
widget/windows/GfxInfo.cpp
--- a/widget/GfxDriverInfo.cpp
+++ b/widget/GfxDriverInfo.cpp
@@ -389,16 +389,22 @@ const GfxDeviceFamily* GfxDriverInfo::Ge
       APPEND_DEVICE(0x6768);
       APPEND_DEVICE(0x6770);
       APPEND_DEVICE(0x6771);
       APPEND_DEVICE(0x6772);
       APPEND_DEVICE(0x6778);
       APPEND_DEVICE(0x6779);
       APPEND_DEVICE(0x677b);
       break;
+    case DeviceFamily::RadeonBlockNoVideoCopy:
+      // Stoney
+      APPEND_DEVICE(0x98e4);
+      // Carrizo
+      APPEND_RANGE(0x9870, 0x9877);
+      break;
     case DeviceFamily::Geforce7300GT:
       APPEND_DEVICE(0x0393);
       break;
     case DeviceFamily::Nvidia310M:
       APPEND_DEVICE(0x0A70);
       break;
     case DeviceFamily::Nvidia8800GTS:
       APPEND_DEVICE(0x0193);
@@ -986,16 +992,17 @@ const nsAString& GfxDriverInfo::GetDevic
     case DeviceFamily::NvidiaWebRenderBlocked:
     case DeviceFamily::Geforce7300GT:
     case DeviceFamily::Nvidia310M:
     case DeviceFamily::Nvidia8800GTS:
     case DeviceFamily::Bug1137716:
       vendor = DeviceVendor::NVIDIA;
       break;
     case DeviceFamily::AtiAll:
+    case DeviceFamily::RadeonBlockNoVideoCopy:
     case DeviceFamily::RadeonCaicos:
     case DeviceFamily::RadeonX1000:
     case DeviceFamily::Bug1447141:
     case DeviceFamily::AmdR600:
     case DeviceFamily::AtiRolloutWebRender:
       vendor = DeviceVendor::ATI;
       break;
     case DeviceFamily::MicrosoftAll:
--- a/widget/GfxDriverInfo.h
+++ b/widget/GfxDriverInfo.h
@@ -185,16 +185,17 @@ enum class DeviceFamily : uint8_t {
   IntelSandyBridge,
   IntelGen7Baytrail,
   IntelSkylake,
   IntelHD520,
   IntelMobileHDGraphics,
   NvidiaBlockD3D9Layers,
   RadeonX1000,
   RadeonCaicos,
+  RadeonBlockNoVideoCopy,
   Geforce7300GT,
   Nvidia310M,
   Nvidia8800GTS,
   Bug1137716,
   Bug1116812,
   Bug1155608,
   Bug1207665,
   Bug1447141,
--- a/widget/windows/GfxInfo.cpp
+++ b/widget/windows/GfxInfo.cpp
@@ -1766,24 +1766,42 @@ const nsTArray<GfxDriverInfo>& GfxInfo::
 
     APPEND_TO_DRIVER_BLOCKLIST_RANGE(
         OperatingSystem::Windows10, DeviceFamily::IntelSkylake,
         nsIGfxInfo::FEATURE_HW_DECODED_VIDEO_NO_COPY,
         nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_BETWEEN_INCLUSIVE,
         V(10, 18, 15, 4256), V(10, 18, 15, 4293), "FEATURE_FAILURE_BUG_1763280",
         "Intel driver 10.18.15.*");
 
+    APPEND_TO_DRIVER_BLOCKLIST2(
+        OperatingSystem::Windows, DeviceFamily::NvidiaAll,
+        nsIGfxInfo::FEATURE_HW_DECODED_VIDEO_NO_COPY,
+        nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
+        V(21, 21, 13, 7576), "FEATURE_FAILURE_BUG_1767212");
+
+    APPEND_TO_DRIVER_BLOCKLIST2(OperatingSystem::Windows, DeviceFamily::AtiAll,
+                                nsIGfxInfo::FEATURE_HW_DECODED_VIDEO_NO_COPY,
+                                nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
+                                DRIVER_LESS_THAN, V(23, 20, 826, 5120),
+                                "FEATURE_FAILURE_BUG_1767212");
+
+    APPEND_TO_DRIVER_BLOCKLIST2(
+        OperatingSystem::Windows, DeviceFamily::RadeonBlockNoVideoCopy,
+        nsIGfxInfo::FEATURE_HW_DECODED_VIDEO_NO_COPY,
+        nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
+        V(26, 20, 15000, 37), "FEATURE_FAILURE_BUG_1767212");
+
     ////////////////////////////////////
     // FEATURE_HW_DECODED_VIDEO_NO_COPY - ALLOWLIST
 #ifdef NIGHTLY_BUILD
-    APPEND_TO_DRIVER_BLOCKLIST2(
-        OperatingSystem::Windows, DeviceFamily::IntelAll,
-        nsIGfxInfo::FEATURE_HW_DECODED_VIDEO_NO_COPY,
-        nsIGfxInfo::FEATURE_ALLOW_ALWAYS, DRIVER_COMPARISON_IGNORED,
-        V(0, 0, 0, 0), "FEATURE_ROLLOUT_INTEL");
+    APPEND_TO_DRIVER_BLOCKLIST2(OperatingSystem::Windows, DeviceFamily::All,
+                                nsIGfxInfo::FEATURE_HW_DECODED_VIDEO_NO_COPY,
+                                nsIGfxInfo::FEATURE_ALLOW_ALWAYS,
+                                DRIVER_COMPARISON_IGNORED, V(0, 0, 0, 0),
+                                "FEATURE_ROLLOUT_ALL");
 #endif
 
     ////////////////////////////////////
     // FEATURE_WEBRENDER
     // Block 8.56.1.15/16
     APPEND_TO_DRIVER_BLOCKLIST2(OperatingSystem::Windows, DeviceFamily::AtiAll,
                                 nsIGfxInfo::FEATURE_WEBRENDER,
                                 nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,