summaryrefslogtreecommitdiff
path: root/www-client/chromium/files/chromium-86-fix-vaapi-on-intel.patch
diff options
context:
space:
mode:
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.patch40
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.