Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Apr 2018 00:50:06 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org
Subject:   svn commit: r466273 - in branches/2018Q2/www: firefox firefox/files waterfox waterfox/files
Message-ID:  <201804030050.w330o6b8065261@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Tue Apr  3 00:50:06 2018
New Revision: 466273
URL: https://svnweb.freebsd.org/changeset/ports/466273

Log:
  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

Added:
  branches/2018Q2/www/firefox/files/patch-bug1411481
     - copied unchanged from r466270, head/www/firefox/files/patch-bug1411481
  branches/2018Q2/www/firefox/files/patch-bug1447519
     - copied unchanged from r466270, head/www/firefox/files/patch-bug1447519
  branches/2018Q2/www/waterfox/files/patch-bug1447519
     - copied unchanged from r466270, head/www/waterfox/files/patch-bug1447519
Modified:
  branches/2018Q2/www/firefox/Makefile
  branches/2018Q2/www/waterfox/Makefile
Directory Properties:
  branches/2018Q2/   (props changed)

Modified: branches/2018Q2/www/firefox/Makefile
==============================================================================
--- branches/2018Q2/www/firefox/Makefile	Tue Apr  3 00:49:25 2018	(r466272)
+++ branches/2018Q2/www/firefox/Makefile	Tue Apr  3 00:50:06 2018	(r466273)
@@ -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/

Copied: branches/2018Q2/www/firefox/files/patch-bug1411481 (from r466270, head/www/firefox/files/patch-bug1411481)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2018Q2/www/firefox/files/patch-bug1411481	Tue Apr  3 00:50:06 2018	(r466273, copy of r466270, head/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;

Copied: branches/2018Q2/www/firefox/files/patch-bug1447519 (from r466270, head/www/firefox/files/patch-bug1447519)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2018Q2/www/firefox/files/patch-bug1447519	Tue Apr  3 00:50:06 2018	(r466273, copy of r466270, head/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);

Modified: branches/2018Q2/www/waterfox/Makefile
==============================================================================
--- branches/2018Q2/www/waterfox/Makefile	Tue Apr  3 00:49:25 2018	(r466272)
+++ branches/2018Q2/www/waterfox/Makefile	Tue Apr  3 00:50:06 2018	(r466273)
@@ -2,7 +2,7 @@
 
 PORTNAME=	waterfox
 DISTVERSION=	56.1.0
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	www ipv6
 
 MAINTAINER=	jbeich@FreeBSD.org

Copied: branches/2018Q2/www/waterfox/files/patch-bug1447519 (from r466270, head/www/waterfox/files/patch-bug1447519)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2018Q2/www/waterfox/files/patch-bug1447519	Tue Apr  3 00:50:06 2018	(r466273, copy of r466270, head/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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201804030050.w330o6b8065261>