aboutsummaryrefslogtreecommitdiffstats
path: root/www
diff options
context:
space:
mode:
authorjbeich <jbeich@FreeBSD.org>2018-03-30 11:22:03 +0800
committerjbeich <jbeich@FreeBSD.org>2018-03-30 11:22:03 +0800
commit762681bf3b914cb0ad06a22a0cca4ab641a28859 (patch)
tree82eeae6cdb6544a5ee11bedafefa7f8708fff8b3 /www
parent2ce85455cdba2d718eade65a1a5967e5f8555d0d (diff)
downloadfreebsd-ports-gnome-762681bf3b914cb0ad06a22a0cca4ab641a28859.tar.gz
freebsd-ports-gnome-762681bf3b914cb0ad06a22a0cca4ab641a28859.tar.zst
freebsd-ports-gnome-762681bf3b914cb0ad06a22a0cca4ab641a28859.zip
www/firefox: unbreak WebRender on i386
Diffstat (limited to 'www')
-rw-r--r--www/firefox/Makefile1
-rw-r--r--www/firefox/files/patch-bug144479845
-rw-r--r--www/firefox/files/patch-bug144877027
3 files changed, 73 insertions, 0 deletions
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index 71d48791fec4..485f34fd980b 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -3,6 +3,7 @@
PORTNAME= firefox
DISTVERSION= 59.0.2
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= www ipv6
MASTER_SITES= https://hg.mozilla.org/releases/mozilla-release/archive/
diff --git a/www/firefox/files/patch-bug1444798 b/www/firefox/files/patch-bug1444798
new file mode 100644
index 000000000000..c326fea1709f
--- /dev/null
+++ b/www/firefox/files/patch-bug1444798
@@ -0,0 +1,45 @@
+commit 7871e211ec43
+Author: sotaro <sotaro.ikeda.g@gmail.com>
+Date: Fri Mar 16 21:03:59 2018 +0900
+
+ Bug 1444798 - Fix ExternalImageCallback func types r=jrmuizel
+---
+ gfx/webrender_bindings/src/bindings.rs | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git gfx/webrender_bindings/src/bindings.rs gfx/webrender_bindings/src/bindings.rs
+index 8517d7dd33e5..cf885ee713f3 100644
+--- gfx/webrender_bindings/src/bindings.rs
++++ gfx/webrender_bindings/src/bindings.rs
+@@ -290,8 +290,8 @@ struct WrExternalImage {
+ size: usize,
+ }
+
+-type LockExternalImageCallback = fn(*mut c_void, WrExternalImageId, u8) -> WrExternalImage;
+-type UnlockExternalImageCallback = fn(*mut c_void, WrExternalImageId, u8);
++type LockExternalImageCallback = unsafe extern "C" fn(*mut c_void, WrExternalImageId, u8) -> WrExternalImage;
++type UnlockExternalImageCallback = unsafe extern "C" fn(*mut c_void, WrExternalImageId, u8);
+
+ #[repr(C)]
+ pub struct WrExternalImageHandler {
+@@ -305,8 +305,8 @@ impl ExternalImageHandler for WrExternalImageHandler {
+ id: ExternalImageId,
+ channel_index: u8)
+ -> ExternalImage {
+- let image = (self.lock_func)(self.external_image_obj, id.into(), channel_index);
+
++ let image = unsafe { (self.lock_func)(self.external_image_obj, id.into(), channel_index) };
+ match image.image_type {
+ WrExternalImageType::NativeTexture => {
+ ExternalImage {
+@@ -341,7 +341,9 @@ impl ExternalImageHandler for WrExternalImageHandler {
+ fn unlock(&mut self,
+ id: ExternalImageId,
+ channel_index: u8) {
+- (self.unlock_func)(self.external_image_obj, id.into(), channel_index);
++ unsafe {
++ (self.unlock_func)(self.external_image_obj, id.into(), channel_index);
++ }
+ }
+ }
+
diff --git a/www/firefox/files/patch-bug1448770 b/www/firefox/files/patch-bug1448770
new file mode 100644
index 000000000000..0d7c4a101ca8
--- /dev/null
+++ b/www/firefox/files/patch-bug1448770
@@ -0,0 +1,27 @@
+Disable GL_EXT_debug_marker due to crashes on x86 with Mesa drivers.
+
+diff --git gfx/webrender/src/query.rs gfx/webrender/src/query.rs
+index 999abc749115..68850ef025e4 100644
+--- gfx/webrender/src/query.rs
++++ gfx/webrender/src/query.rs
+@@ -274,17 +274,20 @@ pub struct GpuMarker {
+
+ impl GpuMarker {
+ fn new(gl: &Rc<gl::Gl>, message: &str) -> Self {
++#[cfg(not(target_arch = "x86"))]
+ gl.push_group_marker_ext(message);
+ GpuMarker { gl: Rc::clone(gl) }
+ }
+
+ fn fire(gl: &Rc<gl::Gl>, message: &str) {
++#[cfg(not(target_arch = "x86"))]
+ gl.insert_event_marker_ext(message);
+ }
+ }
+
+ impl Drop for GpuMarker {
+ fn drop(&mut self) {
++#[cfg(not(target_arch = "x86"))]
+ self.gl.pop_group_marker_ext();
+ }
+ }