aboutsummaryrefslogtreecommitdiffstats
path: root/www
diff options
context:
space:
mode:
authorjbeich <jbeich@FreeBSD.org>2018-04-03 08:48:36 +0800
committerjbeich <jbeich@FreeBSD.org>2018-04-03 08:48:36 +0800
commit21e9df5842af57adac13d6a7ffbcdc7eeadc8e0f (patch)
tree16e0ea3de360e17630bdaecdcd7a65521b2ae2d3 /www
parentdcb47a6ceacac1bdcf99d4f9eb42ab347e44ac8a (diff)
downloadfreebsd-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/Makefile2
-rw-r--r--www/firefox/files/patch-bug141148185
-rw-r--r--www/firefox/files/patch-bug144751922
-rw-r--r--www/waterfox/Makefile2
-rw-r--r--www/waterfox/files/patch-bug144751922
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);