diff options
author | jbeich <jbeich@FreeBSD.org> | 2018-03-30 11:22:03 +0800 |
---|---|---|
committer | jbeich <jbeich@FreeBSD.org> | 2018-03-30 11:22:03 +0800 |
commit | 762681bf3b914cb0ad06a22a0cca4ab641a28859 (patch) | |
tree | 82eeae6cdb6544a5ee11bedafefa7f8708fff8b3 /www | |
parent | 2ce85455cdba2d718eade65a1a5967e5f8555d0d (diff) | |
download | freebsd-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/Makefile | 1 | ||||
-rw-r--r-- | www/firefox/files/patch-bug1444798 | 45 | ||||
-rw-r--r-- | www/firefox/files/patch-bug1448770 | 27 |
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(); + } + } |