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 456313 7998879d6713
parent 456312 4c2502aad681
child 456314 3e8eaa5b7937
push id35478
push usershindli@mozilla.com
push dateFri, 01 Feb 2019 03:55:46 +0000
treeherdermozilla-central@945770882765 [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"));
         }
       }
     }