Bug 1686946 - Ship Software WebRender to OSX early beta/nightly users without (full) WebRender. r=jrmuizel

Differential Revision: https://phabricator.services.mozilla.com/D101933
This commit is contained in:
Andrew Osmond 2021-02-10 14:12:09 +00:00
parent eb7ca8878c
commit d5e27e6220
2 changed files with 14 additions and 1 deletions

View File

@ -7,6 +7,7 @@
#include "RenderCompositor.h"
#include "gfxConfig.h"
#include "gfxPlatform.h"
#include "GLContext.h"
#include "mozilla/StaticPrefs_gfx.h"
#include "mozilla/gfx/Logging.h"
@ -151,7 +152,9 @@ UniquePtr<RenderCompositor> RenderCompositor::Create(
if (gfx::gfxVars::UseSoftwareWebRender()) {
#ifdef XP_MACOSX
// Mac uses NativeLayerCA
return RenderCompositorNativeSWGL::Create(std::move(aWidget), aError);
if (!gfxPlatform::IsHeadless()) {
return RenderCompositorNativeSWGL::Create(std::move(aWidget), aError);
}
#elif defined(XP_WIN)
if (StaticPrefs::gfx_webrender_software_d3d11_AtStartup() &&
gfx::gfxConfig::IsEnabled(gfx::Feature::D3D11_COMPOSITING)) {

View File

@ -457,6 +457,16 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
IMPLEMENT_MAC_DRIVER_BLOCKLIST(OperatingSystem::OSX, DeviceFamily::AppleAll,
nsIGfxInfo::FEATURE_WEBRENDER, nsIGfxInfo::FEATURE_ALLOW_ALWAYS,
"FEATURE_ROLLOUT_APPLE_SILICON_MAC");
// FEATURE_WEBRENDER_SOFTWARE - ALLOWLIST
#ifdef EARLY_BETA_OR_EARLIER
# if defined(_M_IX86) || defined(_M_X64) || defined(__i386__) || defined(__i386) || \
defined(__amd64__)
IMPLEMENT_MAC_DRIVER_BLOCKLIST(
OperatingSystem::OSX, DeviceFamily::All, nsIGfxInfo::FEATURE_WEBRENDER_SOFTWARE,
nsIGfxInfo::FEATURE_ALLOW_ALWAYS, "FEATURE_ROLLOUT_EARLY_BETA_SOFTWARE_WR");
# endif
#endif
}
return *sDriverInfo;
}