Index: head/www/firefox/Makefile =================================================================== --- head/www/firefox/Makefile (revision 531963) +++ head/www/firefox/Makefile (revision 531964) @@ -1,61 +1,61 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox DISTVERSION= 75.0 -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 1 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build3/source DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX} MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla BUILD_DEPENDS= nspr>=4.25:devel/nspr \ nss>=3.51:security/nss \ icu>=64.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=2.6.4:print/harfbuzz \ graphite2>=1.3.13:graphics/graphite2 \ png>=1.6.35:graphics/png \ libvpx>=1.8.2:multimedia/libvpx \ py${PYTHON3_DEFAULT:S/.//}-sqlite3>0:databases/py-sqlite3@py${PYTHON3_DEFAULT:S/.//} \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ nasm:devel/nasm \ yasm:devel/yasm \ zip:archivers/zip USE_GECKO= gecko CONFLICTS_INSTALL= firefox-esr USE_MOZILLA= -sqlite USES= tar:xz FIREFOX_ICON= ${MOZILLA}.png FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png FIREFOX_DESKTOP= ${MOZSRC}/taskcluster/docker/${MOZILLA}-snap/${MOZILLA}.desktop MOZ_OPTIONS= --enable-application=browser \ --enable-official-branding .include "${.CURDIR}/../../www/firefox/Makefile.options" post-patch: @${REINPLACE_CMD} -e 's/%u/%U/' -e '/X-MultipleArgs/d' \ -e '/^Icon/s/=.*/=${FIREFOX_ICON:R}/' \ ${FIREFOX_DESKTOP} @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-install: ${INSTALL_DATA} ${FIREFOX_DESKTOP} ${STAGEDIR}${PREFIX}/share/applications/ ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${LN} -sf ${FIREFOX_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${FIREFOX_ICON} .include Index: head/www/firefox/files/patch-bug1625431 =================================================================== --- head/www/firefox/files/patch-bug1625431 (nonexistent) +++ head/www/firefox/files/patch-bug1625431 (revision 531964) @@ -0,0 +1,34 @@ +commit 9896149e475c +Author: Martin Stransky +Date: Tue Apr 7 18:35:01 2020 +0000 + + Bug 1625431 [Wayland] Enable VAAPI decoding only when hw compositing is enabled, r=jya + + Differential Revision: https://phabricator.services.mozilla.com/D68753 + + --HG-- + extra : moz-landing-system : lando +--- + dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp +index 4c5b0108599bc..1e5694ead0854 100644 +--- dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp ++++ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp +@@ -172,6 +172,15 @@ bool FFmpegVideoDecoder::CreateVAAPIDeviceContext() { + MediaResult FFmpegVideoDecoder::InitVAAPIDecoder() { + FFMPEG_LOG("Initialising VA-API FFmpeg decoder"); + ++ auto layersBackend = mImageAllocator ++ ? mImageAllocator->GetCompositorBackendType() ++ : layers::LayersBackend::LAYERS_BASIC; ++ if (layersBackend != layers::LayersBackend::LAYERS_OPENGL && ++ layersBackend != layers::LayersBackend::LAYERS_WR) { ++ FFMPEG_LOG("VA-API works with HW accelerated backend only!"); ++ return NS_ERROR_NOT_AVAILABLE; ++ } ++ + if (!mLib->IsVAAPIAvailable()) { + FFMPEG_LOG("libva library or symbols are missing."); + return NS_ERROR_NOT_AVAILABLE; Property changes on: head/www/firefox/files/patch-bug1625431 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/firefox/files/patch-bug1628690 =================================================================== --- head/www/firefox/files/patch-bug1628690 (nonexistent) +++ head/www/firefox/files/patch-bug1628690 (revision 531964) @@ -0,0 +1,82 @@ +commit 3a6824ecbffe +Author: Martin Stransky +Date: Thu Apr 16 13:49:37 2020 +0000 + + Bug 1628690 [Wayland][VA-API] Respect disabled HW decoding to allow fallback to SW decoding, r=jya + + Differential Revision: https://phabricator.services.mozilla.com/D71158 +--- + dom/media/platforms/ffmpeg/FFmpegDecoderModule.h | 4 +++- + dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp | 11 +++++++---- + dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h | 4 +++- + 3 files changed, 13 insertions(+), 6 deletions(-) + +diff --git dom/media/platforms/ffmpeg/FFmpegDecoderModule.h dom/media/platforms/ffmpeg/FFmpegDecoderModule.h +index 5a1d2c7a963af..563ee5267a08d 100644 +--- dom/media/platforms/ffmpeg/FFmpegDecoderModule.h ++++ dom/media/platforms/ffmpeg/FFmpegDecoderModule.h +@@ -49,7 +49,9 @@ class FFmpegDecoderModule : public PlatformDecoderModule { + RefPtr decoder = new FFmpegVideoDecoder( + mLib, aParams.mTaskQueue, aParams.VideoConfig(), + aParams.mKnowsCompositor, aParams.mImageContainer, +- aParams.mOptions.contains(CreateDecoderParams::Option::LowLatency)); ++ aParams.mOptions.contains(CreateDecoderParams::Option::LowLatency), ++ aParams.mOptions.contains( ++ CreateDecoderParams::Option::HardwareDecoderNotAllowed)); + return decoder.forget(); + } + +diff --git dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp +index 1e5694ead0854..294097356c5b3 100644 +--- dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp ++++ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp +@@ -270,10 +270,11 @@ void FFmpegVideoDecoder::PtsCorrectionContext::Reset() { + FFmpegVideoDecoder::FFmpegVideoDecoder( + FFmpegLibWrapper* aLib, TaskQueue* aTaskQueue, const VideoInfo& aConfig, + KnowsCompositor* aAllocator, ImageContainer* aImageContainer, +- bool aLowLatency) ++ bool aLowLatency, bool aDisableHardwareDecoding) + : FFmpegDataDecoder(aLib, aTaskQueue, GetCodecId(aConfig.mMimeType)), + #ifdef MOZ_WAYLAND_USE_VAAPI + mVAAPIDeviceContext(nullptr), ++ mDisableHardwareDecoding(aDisableHardwareDecoding), + #endif + mImageAllocator(aAllocator), + mImageContainer(aImageContainer), +@@ -289,9 +290,11 @@ RefPtr FFmpegVideoDecoder::Init() { + MediaResult rv; + + #ifdef MOZ_WAYLAND_USE_VAAPI +- rv = InitVAAPIDecoder(); +- if (NS_SUCCEEDED(rv)) { +- return InitPromise::CreateAndResolve(TrackInfo::kVideoTrack, __func__); ++ if (!mDisableHardwareDecoding) { ++ rv = InitVAAPIDecoder(); ++ if (NS_SUCCEEDED(rv)) { ++ return InitPromise::CreateAndResolve(TrackInfo::kVideoTrack, __func__); ++ } + } + #endif + +diff --git dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h +index 670cb6203dde0..7f14dfc8dbc11 100644 +--- dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h ++++ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h +@@ -48,7 +48,8 @@ class FFmpegVideoDecoder + public: + FFmpegVideoDecoder(FFmpegLibWrapper* aLib, TaskQueue* aTaskQueue, + const VideoInfo& aConfig, KnowsCompositor* aAllocator, +- ImageContainer* aImageContainer, bool aLowLatency); ++ ImageContainer* aImageContainer, bool aLowLatency, ++ bool aDisableHardwareDecoding); + + RefPtr Init() override; + void InitCodecContext() override; +@@ -109,6 +110,7 @@ class FFmpegVideoDecoder + + #ifdef MOZ_WAYLAND_USE_VAAPI + AVBufferRef* mVAAPIDeviceContext; ++ const bool mDisableHardwareDecoding; + #endif + RefPtr mImageAllocator; + RefPtr mImageContainer; Property changes on: head/www/firefox/files/patch-bug1628690 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property