diff --git a/extra/chromium/PKGBUILD b/extra/chromium/PKGBUILD index 5d0c4b0a7..6b1ca52d9 100644 --- a/extra/chromium/PKGBUILD +++ b/extra/chromium/PKGBUILD @@ -16,7 +16,7 @@ highmem=1 pkgname=chromium pkgver=83.0.4103.106 -pkgrel=2 +pkgrel=3 _launcher_ver=6 pkgdesc="A web browser built for speed, simplicity, and security" arch=('x86_64') @@ -44,6 +44,7 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgn make-some-of-blink-custom-iterators-STL-compatible.patch avoid-double-destruction-of-ServiceWorkerObjectHost.patch v8-remove-soon-to-be-removed-getAllFieldPositions.patch + chromium-fix-vaapi-on-intel.patch chromium-83-gcc-10.patch chromium-skia-harmony.patch 0001-crashpad-include-limits.patch @@ -58,6 +59,7 @@ sha256sums=('cfd153a2e10b0bb0fb3b7e6be543aef0915181f5fbdbea893d08465afd097e2f' '3d7f20e1d2ee7d73ed25e708c0d59a0cb215fcce10a379e3d48a856533c4b0b7' 'd793842e9584bf75e3779918297ba0ffa6dd05394ef5b2bf5fb73aa9c86a7e2f' 'e042024423027ad3ef729a7e4709bdf9714aea49d64cfbbf46a645a05703abc2' + 'e495f2477091557b15bff2c99831e0a3db64ea2ebde7dcb22857a6469c944b9a' '3e5ba8c0a70a4bc673deec0c61eb2b58f05a4c784cbdb7c8118be1eb6580db6d' '771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1' 'df99f49ad58b70c9a3e1827d7e80b62e4363419334ed83373cf55b79c17b6f10' @@ -151,6 +153,9 @@ prepare() { # https://crbug.com/skia/6663#c10 patch -Np0 -i ../chromium-skia-harmony.patch + # Patch from rpmfusion: chromium-freeworld + patch -Np1 -i ../chromium-fix-vaapi-on-intel.patch + # Force script incompatible with Python 3 to use /usr/bin/python2 sed -i '1s|python$|&2|' third_party/dom_distiller_js/protoc_plugins/*.py diff --git a/extra/chromium/chromium-fix-vaapi-on-intel.patch b/extra/chromium/chromium-fix-vaapi-on-intel.patch new file mode 100644 index 000000000..73281f44d --- /dev/null +++ b/extra/chromium/chromium-fix-vaapi-on-intel.patch @@ -0,0 +1,40 @@ +From 9ff06536caf7ea51aad9fd2bb649c858eaf7ee84 Mon Sep 17 00:00:00 2001 +From: Akarshan Biswas +Date: Sat, 26 Oct 2019 10:06:30 +0530 +Subject: [PATCH] Move offending function to chromeos only + +--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc ++++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc +@@ -66,6 +66,7 @@ void ReportToUMA(VAVDADecoderFailure fai + VAVDA_DECODER_FAILURES_MAX + 1); + } + ++#if defined(OS_ANDROID) || defined(OS_CHROMEOS) + // Returns true if the CPU is an Intel Gemini Lake or later (including Kaby + // Lake) Cpu platform id's are referenced from the following file in kernel + // source arch/x86/include/asm/intel-family.h +@@ -78,6 +79,7 @@ bool IsGeminiLakeOrLater() { + cpuid.model() >= kGeminiLakeModelId; + return is_geminilake_or_later; + } ++#endif + + } // namespace + +@@ -1155,6 +1157,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe + if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT) + return BufferAllocationMode::kNormal; + ++#if defined(OS_ANDROID) || defined(OS_CHROMEOS) ++ // Move this to chromeOs only as it is causing problem in some intel linux drivers + // On Gemini Lake, Kaby Lake and later we can pass to libva the client's + // PictureBuffers to decode onto, which skips the use of the Vpp unit and its + // associated format reconciliation copy, avoiding all internal buffer +@@ -1171,6 +1175,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe + num_extra_pics_ = 3; + return BufferAllocationMode::kNone; + } ++#endif + + // If we're here, we have to use the Vpp unit and allocate buffers for + // |decoder_|; usually we'd have to allocate the |decoder_|s