Bug 1524284. Enable WebRender by default on modern Intel desktop gpus. r=kats
authorJeff Muizelaar <jrmuizel@gmail.com>
Thu, 31 Jan 2019 19:56:04 +0000
changeset 514195 7998879d67133172b899cc84e5925ea07c7854fa
parent 514194 4c2502aad681fd64109c6a218e5e3f85a60f6208
child 514196 3e8eaa5b79372adec8622e9a486b64ba2f71208e
push id10862
push userffxbld-merge
push dateMon, 11 Mar 2019 13:01:11 +0000
treeherdermozilla-beta@a2e7f5c935da [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskats
bugs1524284
milestone67.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 1524284. Enable WebRender by default on modern Intel desktop gpus. r=kats This enables WebRender on a small subset of modern Intel gpus. Differential Revision: https://phabricator.services.mozilla.com/D18242
gfx/thebes/gfxPlatform.cpp
--- a/gfx/thebes/gfxPlatform.cpp
+++ b/gfx/thebes/gfxPlatform.cpp
@@ -2687,16 +2687,35 @@ static FeatureState& WebRenderHardwareQu
               (deviceID == 0x7300) ||
               (deviceID >= 0x9830 && deviceID < 0x9870)) {
             // we have a desktop CIK, VI, or GFX9 device
           } else {
             featureWebRenderQualified.Disable(
                 FeatureStatus::Blocked, "Device too old",
                 NS_LITERAL_CSTRING("FEATURE_FAILURE_DEVICE_TOO_OLD"));
           }
+        } else if (adapterVendorID == u"0x8086") {  // Intel
+          const uint16_t supportedDevices[] = {
+              0x191d,  // HD Graphics P530
+              0x192d,  // Iris Pro Graphics P555
+              0x1912,  // HD Graphics 530
+              0x5912,  // HD Graphics 630
+              0x3e92,  // UHD Graphics 630
+          };
+          bool supported = false;
+          for (uint16_t id : supportedDevices) {
+            if (deviceID == id) {
+              supported = true;
+            }
+          }
+          if (!supported) {
+            featureWebRenderQualified.Disable(
+                FeatureStatus::Blocked, "Device too old",
+                NS_LITERAL_CSTRING("FEATURE_FAILURE_DEVICE_TOO_OLD"));
+          }
 #endif
         } else {
           featureWebRenderQualified.Disable(
               FeatureStatus::Blocked, "Unsupported vendor",
               NS_LITERAL_CSTRING("FEATURE_FAILURE_UNSUPPORTED_VENDOR"));
         }
       }
     }