diff --git a/gfx/webrender_bindings/RenderCompositor.cpp b/gfx/webrender_bindings/RenderCompositor.cpp index 4e77351e4fc9..ef3836065737 100644 --- a/gfx/webrender_bindings/RenderCompositor.cpp +++ b/gfx/webrender_bindings/RenderCompositor.cpp @@ -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::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)) { diff --git a/widget/cocoa/GfxInfo.mm b/widget/cocoa/GfxInfo.mm index 56ac8b683210..b5ddb1baf8a1 100644 --- a/widget/cocoa/GfxInfo.mm +++ b/widget/cocoa/GfxInfo.mm @@ -457,6 +457,16 @@ const nsTArray& 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; }