MFH: r466270
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` ... Approved by: ports-secteam blanket
This commit is contained in:
parent
4ae431c6ed
commit
70b37b7a07
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/branches/2018Q2/; revision=466273
@ -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/
|
||||
|
85
www/firefox/files/patch-bug1411481
Normal file
85
www/firefox/files/patch-bug1411481
Normal file
@ -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;
|
22
www/firefox/files/patch-bug1447519
Normal file
22
www/firefox/files/patch-bug1447519
Normal file
@ -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);
|
@ -2,7 +2,7 @@
|
||||
|
||||
PORTNAME= waterfox
|
||||
DISTVERSION= 56.1.0
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= www ipv6
|
||||
|
||||
MAINTAINER= jbeich@FreeBSD.org
|
||||
|
22
www/waterfox/files/patch-bug1447519
Normal file
22
www/waterfox/files/patch-bug1447519
Normal file
@ -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);
|
Loading…
Reference in New Issue
Block a user