diff options
author | jbeich <jbeich@FreeBSD.org> | 2018-04-03 08:48:36 +0800 |
---|---|---|
committer | jbeich <jbeich@FreeBSD.org> | 2018-04-03 08:48:36 +0800 |
commit | 21e9df5842af57adac13d6a7ffbcdc7eeadc8e0f (patch) | |
tree | 16e0ea3de360e17630bdaecdcd7a65521b2ae2d3 /www | |
parent | dcb47a6ceacac1bdcf99d4f9eb42ab347e44ac8a (diff) | |
download | freebsd-ports-gnome-21e9df5842af57adac13d6a7ffbcdc7eeadc8e0f.tar.gz freebsd-ports-gnome-21e9df5842af57adac13d6a7ffbcdc7eeadc8e0f.tar.zst freebsd-ports-gnome-21e9df5842af57adac13d6a7ffbcdc7eeadc8e0f.zip |
www/firefox: use SkiaGL by default for OpenGL/WebRender compositing
Copy OS X behavior. If OpenGL compositing[1] doesn't crash OS or browser
SkiaGL canvas rendering is unlikely to make it worse. Mainly improves
FishIE Tank benchmark.
[1] layers.acceleration.force-enabled -> true in about:config or
$ env MOZ_ACCELERATED=1 firefox -new-instance -profile `mktemp -d` ...
Diffstat (limited to 'www')
-rw-r--r-- | www/firefox/Makefile | 2 | ||||
-rw-r--r-- | www/firefox/files/patch-bug1411481 | 85 | ||||
-rw-r--r-- | www/firefox/files/patch-bug1447519 | 22 | ||||
-rw-r--r-- | www/waterfox/Makefile | 2 | ||||
-rw-r--r-- | www/waterfox/files/patch-bug1447519 | 22 |
5 files changed, 131 insertions, 2 deletions
diff --git a/www/firefox/Makefile b/www/firefox/Makefile index 485f34fd980b..af8779a5f710 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -3,7 +3,7 @@ PORTNAME= firefox DISTVERSION= 59.0.2 -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= https://hg.mozilla.org/releases/mozilla-release/archive/ diff --git a/www/firefox/files/patch-bug1411481 b/www/firefox/files/patch-bug1411481 new file mode 100644 index 000000000000..d8e9992e264b --- /dev/null +++ b/www/firefox/files/patch-bug1411481 @@ -0,0 +1,85 @@ +commit 57a55d1c2d33 +Author: sotaro <sotaro.ikeda.g@gmail.com> +Date: Wed Mar 21 08:59:38 2018 +0900 + + Bug 1411481- Enable SkiaGL canvas usage on Mac r=jrmuizel +--- + dom/canvas/CanvasRenderingContext2D.cpp | 3 ++- + gfx/thebes/gfxPlatform.cpp | 3 ++- + gfx/thebes/gfxPlatform.h | 2 +- + gfx/thebes/gfxWindowsPlatform.cpp | 7 +++++++ + gfx/thebes/gfxWindowsPlatform.h | 2 ++ + 5 files changed, 14 insertions(+), 3 deletions(-) + +diff --git dom/canvas/CanvasRenderingContext2D.cpp dom/canvas/CanvasRenderingContext2D.cpp +index ef3f868bdbf7..8666564b4d0c 100644 +--- dom/canvas/CanvasRenderingContext2D.cpp ++++ dom/canvas/CanvasRenderingContext2D.cpp +@@ -1438,7 +1438,8 @@ CanvasRenderingContext2D::AllowOpenGLCanvas() const + // HTMLCanvasElement::GetCompositorBackendType would return LAYERS_NONE + // as well, so it wouldn't help much. + +- return (mCompositorBackend == LayersBackend::LAYERS_OPENGL) && ++ return (mCompositorBackend == LayersBackend::LAYERS_OPENGL || ++ mCompositorBackend == LayersBackend::LAYERS_WR) && + gfxPlatform::GetPlatform()->AllowOpenGLCanvas(); + } + +diff --git gfx/thebes/gfxPlatform.cpp gfx/thebes/gfxPlatform.cpp +index b9beea68d8c5..82635f9ab3ce 100644 +--- gfx/thebes/gfxPlatform.cpp ++++ gfx/thebes/gfxPlatform.cpp +@@ -1386,7 +1386,8 @@ bool gfxPlatform::AllowOpenGLCanvas() + // so we let content process always assume correct compositor backend. + // The callers have to do the right thing. + bool correctBackend = !XRE_IsParentProcess() || +- ((mCompositorBackend == LayersBackend::LAYERS_OPENGL) && ++ ((mCompositorBackend == LayersBackend::LAYERS_OPENGL || ++ mCompositorBackend == LayersBackend::LAYERS_WR) && + (GetContentBackendFor(mCompositorBackend) == BackendType::SKIA)); + + if (gfxPrefs::CanvasAzureAccelerated() && correctBackend) { +diff --git gfx/thebes/gfxPlatform.h gfx/thebes/gfxPlatform.h +index c988eb1168a8..3bbf2b763f26 100644 +--- gfx/thebes/gfxPlatform.h ++++ gfx/thebes/gfxPlatform.h +@@ -286,7 +286,7 @@ public: + /// asking for it, we will examine the commands in the first few seconds + /// of the canvas usage, and potentially change to accelerated or + /// non-accelerated canvas. +- bool AllowOpenGLCanvas(); ++ virtual bool AllowOpenGLCanvas(); + virtual void InitializeSkiaCacheLimits(); + + static bool AsyncPanZoomEnabled(); +diff --git gfx/thebes/gfxWindowsPlatform.cpp gfx/thebes/gfxWindowsPlatform.cpp +index 9ba6f40c6cc0..4d65791d075f 100644 +--- gfx/thebes/gfxWindowsPlatform.cpp ++++ gfx/thebes/gfxWindowsPlatform.cpp +@@ -509,6 +509,13 @@ gfxWindowsPlatform::UpdateRenderMode() + } + } + ++bool ++gfxWindowsPlatform::AllowOpenGLCanvas() ++{ ++ // OpenGL canvas is not supported on windows ++ return false; ++} ++ + mozilla::gfx::BackendType + gfxWindowsPlatform::GetContentBackendFor(mozilla::layers::LayersBackend aLayers) + { +diff --git gfx/thebes/gfxWindowsPlatform.h gfx/thebes/gfxWindowsPlatform.h +index 47048de8f5f5..47ec0e9e5547 100644 +--- gfx/thebes/gfxWindowsPlatform.h ++++ gfx/thebes/gfxWindowsPlatform.h +@@ -174,6 +174,8 @@ public: + void SchedulePaintIfDeviceReset() override; + void CheckForContentOnlyDeviceReset(); + ++ bool AllowOpenGLCanvas() override; ++ + mozilla::gfx::BackendType GetContentBackendFor(mozilla::layers::LayersBackend aLayers) override; + + mozilla::gfx::BackendType GetPreferredCanvasBackend() override; diff --git a/www/firefox/files/patch-bug1447519 b/www/firefox/files/patch-bug1447519 new file mode 100644 index 000000000000..dbad5642fa90 --- /dev/null +++ b/www/firefox/files/patch-bug1447519 @@ -0,0 +1,22 @@ +Enable SkiaGL by default on OpenGL compositing platforms + +diff --git modules/libpref/init/all.js modules/libpref/init/all.js +index 93e56b00a961..61a2174c3384 100644 +--- modules/libpref/init/all.js ++++ modules/libpref/init/all.js +@@ -882,15 +882,9 @@ pref("gfx.font_rendering.opentype_svg.enabled", true); + pref("gfx.canvas.azure.backends", "direct2d1.1,skia,cairo"); + pref("gfx.content.azure.backends", "direct2d1.1,skia,cairo"); + #else +-#ifdef XP_MACOSX + pref("gfx.content.azure.backends", "skia"); + pref("gfx.canvas.azure.backends", "skia"); +-// Accelerated cg canvas where available (10.7+) + pref("gfx.canvas.azure.accelerated", true); +-#else +-pref("gfx.canvas.azure.backends", "skia"); +-pref("gfx.content.azure.backends", "skia"); +-#endif + #endif + + pref("gfx.canvas.skiagl.dynamic-cache", true); diff --git a/www/waterfox/Makefile b/www/waterfox/Makefile index e7adc6a1ff3c..7dd5228a9568 100644 --- a/www/waterfox/Makefile +++ b/www/waterfox/Makefile @@ -2,7 +2,7 @@ PORTNAME= waterfox DISTVERSION= 56.1.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= www ipv6 MAINTAINER= jbeich@FreeBSD.org diff --git a/www/waterfox/files/patch-bug1447519 b/www/waterfox/files/patch-bug1447519 new file mode 100644 index 000000000000..dbad5642fa90 --- /dev/null +++ b/www/waterfox/files/patch-bug1447519 @@ -0,0 +1,22 @@ +Enable SkiaGL by default on OpenGL compositing platforms + +diff --git modules/libpref/init/all.js modules/libpref/init/all.js +index 93e56b00a961..61a2174c3384 100644 +--- modules/libpref/init/all.js ++++ modules/libpref/init/all.js +@@ -882,15 +882,9 @@ pref("gfx.font_rendering.opentype_svg.enabled", true); + pref("gfx.canvas.azure.backends", "direct2d1.1,skia,cairo"); + pref("gfx.content.azure.backends", "direct2d1.1,skia,cairo"); + #else +-#ifdef XP_MACOSX + pref("gfx.content.azure.backends", "skia"); + pref("gfx.canvas.azure.backends", "skia"); +-// Accelerated cg canvas where available (10.7+) + pref("gfx.canvas.azure.accelerated", true); +-#else +-pref("gfx.canvas.azure.backends", "skia"); +-pref("gfx.content.azure.backends", "skia"); +-#endif + #endif + + pref("gfx.canvas.skiagl.dynamic-cache", true); |