diff options
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 8 | ||||
-rw-r--r-- | vaapi-fix.patch | 62 |
3 files changed, 50 insertions, 30 deletions
@@ -1,7 +1,7 @@ pkgbase = chromium-vaapi pkgdesc = Chromium with VA-API support to enable hardware acceleration - pkgver = 75.0.3770.100 - pkgrel = 2 + pkgver = 75.0.3770.142 + pkgrel = 1 url = https://www.chromium.org/Home install = chromium.install arch = x86_64 @@ -56,7 +56,7 @@ pkgbase = chromium-vaapi optdepends = kwallet: for storing passwords in KWallet provides = chromium conflicts = chromium - source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-75.0.3770.100.tar.xz + source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-75.0.3770.142.tar.xz source = chromium-launcher-6.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v6.tar.gz source = chromium-drirc-disable-10bpc-color-configs.conf source = vaapi-fix.patch @@ -67,10 +67,10 @@ pkgbase = chromium-vaapi source = chromium-fix-window-flash-for-some-WMs.patch source = chromium-widevine.patch source = chromium-skia-harmony.patch - sha256sums = 9e1360101b6d9f9635e540db77626e3e15b452f413d8750518244ac37b73fca0 + sha256sums = 510e6ca7ccc218b401b375c13656f6aecab196b03142026dc3602b9d1804a5ac sha256sums = 04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1 sha256sums = babda4f5c1179825797496898d77334ac067149cac03d797ab27ac69671a7feb - sha256sums = 83cca45acc2515b9c83f34844494a8788f85bb04c36834b88e905c490988d9bb + sha256sums = 333b1e0997ad8831906f66550efc73f51b8650ec3436a247d920b5d12e2169de sha256sums = e2d284311f49c529ea45083438a768db390bde52949995534034d2a814beab89 sha256sums = 09c5f16b726ef7031d74807b534fbbfa49a7276ee2a239b70602de2704fa197c sha256sums = e309dfd9d790f32cb1d23103726ac25e405b6ae6757a1c957a8395667d753908 @@ -10,8 +10,8 @@ # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=chromium-vaapi -pkgver=75.0.3770.100 -pkgrel=2 +pkgver=75.0.3770.142 +pkgrel=1 _launcher_ver=6 pkgdesc="Chromium with VA-API support to enable hardware acceleration" arch=('x86_64') @@ -40,10 +40,10 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/chrom chromium-fix-window-flash-for-some-WMs.patch chromium-widevine.patch chromium-skia-harmony.patch) -sha256sums=('9e1360101b6d9f9635e540db77626e3e15b452f413d8750518244ac37b73fca0' +sha256sums=('510e6ca7ccc218b401b375c13656f6aecab196b03142026dc3602b9d1804a5ac' '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1' 'babda4f5c1179825797496898d77334ac067149cac03d797ab27ac69671a7feb' - '83cca45acc2515b9c83f34844494a8788f85bb04c36834b88e905c490988d9bb' + '333b1e0997ad8831906f66550efc73f51b8650ec3436a247d920b5d12e2169de' 'e2d284311f49c529ea45083438a768db390bde52949995534034d2a814beab89' '09c5f16b726ef7031d74807b534fbbfa49a7276ee2a239b70602de2704fa197c' 'e309dfd9d790f32cb1d23103726ac25e405b6ae6757a1c957a8395667d753908' diff --git a/vaapi-fix.patch b/vaapi-fix.patch index 824e3d52438e..b298a78446a1 100644 --- a/vaapi-fix.patch +++ b/vaapi-fix.patch @@ -1,13 +1,13 @@ -From 757f4ca3fbeee9bb5ef88d3dc5ff6b241541c6b9 Mon Sep 17 00:00:00 2001 +From fe61d25580bd22d68b20323e7cd684dcba0cd3f4 Mon Sep 17 00:00:00 2001 From: Akarshan Biswas <akarshanbiswas@fedoraproject.org> -Date: Fri, 28 Jun 2019 14:27:33 +0530 -Subject: [PATCH] Do not use VPP on Linux; Add some info logs and fix vaapi DRM +Date: Tue, 9 Jul 2019 18:39:54 +0530 +Subject: [PATCH] Disable VAProfileNone on Linux and fix vaapi drm --- .../gpu_video_decode_accelerator_factory.cc | 2 ++ - .../vaapi/vaapi_video_decode_accelerator.cc | 16 +++++++++++++ + .../vaapi/vaapi_video_decode_accelerator.cc | 21 ++++++++++++++++ media/gpu/vaapi/vaapi_wrapper.cc | 24 +++++++++++++++---- - 3 files changed, 37 insertions(+), 5 deletions(-) + 3 files changed, 42 insertions(+), 5 deletions(-) diff --git a/media/gpu/gpu_video_decode_accelerator_factory.cc b/media/gpu/gpu_video_decode_accelerator_factory.cc index dc9ff3fb3..53189759c 100644 @@ -20,35 +20,54 @@ index dc9ff3fb3..53189759c 100644 + else + LOG(ERROR) << "Initialization of one or more VDAs failed."; } - + return nullptr; diff --git a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc -index 3c1316dca..1e7fac393 100644 +index 3c1316dca..a5fa64b5a 100644 --- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc +++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc -@@ -627,6 +627,13 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers( +@@ -64,6 +64,9 @@ void ReportToUMA(VAVDADecoderFailure failure) { + VAVDA_DECODER_FAILURES_MAX + 1); + } + ++// Move this thing to chromeos only as build can fail if treat warnings as errors been set to true ++#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 +@@ -77,6 +80,8 @@ bool IsGeminiLakeOrLater() { + return is_geminilake_or_later; + } + ++#endif ++ + } // namespace + + #define RETURN_AND_NOTIFY_ON_FAILURE(result, log, error_code, ret) \ +@@ -627,6 +632,13 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers( const unsigned int va_format = GetVaFormatForVideoCodecProfile(profile_); std::vector<VASurfaceID> va_surface_ids; - + + // Nvidia doesn't support VAProfileNone, so don't try to create a temporary + // copy buffer there. It's not needed anyways for hardware video decoding + // to work. -+ ++ + #if defined(OS_ANDROID) || defined(OS_CHROMEOS) + + // If we aren't in BufferAllocationMode::kNone, we have to allocate a // |vpp_vaapi_wrapper_| for VaapiPicture to DownloadFromSurface() the VA's // internal decoded frame. -@@ -640,6 +647,7 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers( +@@ -640,6 +652,7 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers( NotifyError(PLATFORM_FAILURE); } } + #endif - + for (size_t i = 0; i < buffers.size(); ++i) { DCHECK(requested_pic_size_ == buffers[i].size()); -@@ -648,9 +656,13 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers( +@@ -648,9 +661,13 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers( // only used as a copy destination. Therefore, the VaapiWrapper used and // owned by |picture| is |vpp_vaapi_wrapper_|. std::unique_ptr<VaapiPicture> picture = vaapi_picture_factory_->Create( @@ -62,8 +81,8 @@ index 3c1316dca..1e7fac393 100644 make_context_current_cb_, bind_image_cb_, buffers[i]); RETURN_AND_NOTIFY_ON_FAILURE(picture, "Failed creating a VaapiPicture", PLATFORM_FAILURE, ); -@@ -1063,6 +1075,9 @@ VaapiVideoDecodeAccelerator::GetSupportedProfiles() { - +@@ -1063,6 +1080,9 @@ VaapiVideoDecodeAccelerator::GetSupportedProfiles() { + VaapiVideoDecodeAccelerator::BufferAllocationMode VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() { + #if defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_CHROMEOS) @@ -72,13 +91,13 @@ index 3c1316dca..1e7fac393 100644 // TODO(crbug.com/912295): Enable a better BufferAllocationMode for IMPORT // |output_mode_| as well. if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT) -@@ -1095,6 +1110,7 @@ VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() { +@@ -1095,6 +1115,7 @@ VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() { return BufferAllocationMode::kReduced; - + return BufferAllocationMode::kSuperReduced; + #endif } - + bool VaapiVideoDecodeAccelerator::IsBufferAllocationModeReducedOrSuperReduced() diff --git a/media/gpu/vaapi/vaapi_wrapper.cc b/media/gpu/vaapi/vaapi_wrapper.cc index f6008d288..d829582a6 100644 @@ -93,7 +112,7 @@ index f6008d288..d829582a6 100644 + base::FilePath::FromUTF8Unsafe(kNvidiaPath), + base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE); } - + VADisplayState::VADisplayState() @@ -303,10 +307,11 @@ bool VADisplayState::InitializeOnce() { case gl::kGLImplementationDesktopGL: @@ -128,7 +147,8 @@ index f6008d288..d829582a6 100644 + return false; + } } - + va_initialized_ = true; --- +-- 2.21.0 + |