Bug 1574327. Add a pref that we can use to disable d3d11 blacklist. r=aosmond
authorJeff Muizelaar <jrmuizel@gmail.com>
Thu, 15 Aug 2019 22:39:18 +0000
changeset 488420 aa2a510029838127f903e0e72fb5190ee427e5fa
parent 488419 76f8cb64876681e93d675465b48c4a6c8b84bc5d
child 488421 25abe5d28a6a8d7f70f05449e6a850379877d159
push id113908
push userccoroiu@mozilla.com
push dateFri, 16 Aug 2019 09:57:53 +0000
treeherdermozilla-inbound@83fad6abe38a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersaosmond
bugs1574327
milestone70.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 1574327. Add a pref that we can use to disable d3d11 blacklist. r=aosmond We'll use this to enable WARP on CI. Differential Revision: https://phabricator.services.mozilla.com/D42221
gfx/thebes/gfxWindowsPlatform.cpp
modules/libpref/init/StaticPrefList.yaml
--- a/gfx/thebes/gfxWindowsPlatform.cpp
+++ b/gfx/thebes/gfxWindowsPlatform.cpp
@@ -1363,17 +1363,18 @@ void gfxWindowsPlatform::InitializeD3D11
 #else
       Preferences::SetBool("gfx.compositor.clearstate", true);
 #endif
     }
   }
 
   nsCString message;
   nsCString failureId;
-  if (!gfxPlatform::IsGfxInfoStatusOkay(nsIGfxInfo::FEATURE_DIRECT3D_11_LAYERS,
+  if (StaticPrefs::layers_d3d11_enable_blacklist_AtStartup() &&
+      !gfxPlatform::IsGfxInfoStatusOkay(nsIGfxInfo::FEATURE_DIRECT3D_11_LAYERS,
                                         &message, failureId)) {
     d3d11.Disable(FeatureStatus::Blacklisted, message.get(), failureId);
   }
 
   InitializeAdvancedLayersConfig();
 }
 
 /* static */
--- a/modules/libpref/init/StaticPrefList.yaml
+++ b/modules/libpref/init/StaticPrefList.yaml
@@ -3716,16 +3716,21 @@
   mirror: once
   do_not_use_directly: true
 
 - name: layers.d3d11.force-warp
   type: bool
   value: false
   mirror: once
 
+- name: layers.d3d11.enable-blacklist
+  type: bool
+  value: true
+  mirror: once
+
 - name: layers.deaa.enabled
   type: RelaxedAtomicBool
   value: false
   mirror: always
 
 - name: layers.draw-bigimage-borders
   type: RelaxedAtomicBool
   value: false