diff options
Diffstat (limited to 'www-client/chromium/files/chromium-86-fix-vaapi-on-intel.patch')
-rw-r--r-- | www-client/chromium/files/chromium-86-fix-vaapi-on-intel.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/www-client/chromium/files/chromium-86-fix-vaapi-on-intel.patch b/www-client/chromium/files/chromium-86-fix-vaapi-on-intel.patch new file mode 100644 index 000000000000..2e3f9a6fdc5d --- /dev/null +++ b/www-client/chromium/files/chromium-86-fix-vaapi-on-intel.patch @@ -0,0 +1,40 @@ +From 9ff06536caf7ea51aad9fd2bb649c858eaf7ee84 Mon Sep 17 00:00:00 2001 +From: Akarshan Biswas <akarshanbiswas@fedoraproject.org> +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 +@@ -58,6 +58,7 @@ unsigned int GetVaFormatForVideoCodecProfile(VideoCodecProfile profile) { + return VA_RT_FORMAT_YUV420; + } + ++#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 +@@ -70,6 +71,7 @@ bool IsGeminiLakeOrLater() { + cpuid.model() >= kGeminiLakeModelId; + return is_geminilake_or_later; + } ++#endif + + } // namespace + +@@ -1213,6 +1215,8 @@ VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() { + 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 +@@ -1228,6 +1232,7 @@ VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() { + num_extra_pics_ = 3; + return BufferAllocationMode::kNone; + } ++#endif + + // For H.264 on older devices, another +1 is experimentally needed for + // high-to-high resolution changes. |