diff -up chromium-81.0.4044.92/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.vaapi-intel-fix chromium-81.0.4044.92/media/gpu/vaapi/vaapi_video_decode_accelerator.cc --- chromium-81.0.4044.92/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.vaapi-intel-fix 2020-04-03 00:11:34.000000000 -0400 +++ chromium-81.0.4044.92/media/gpu/vaapi/vaapi_video_decode_accelerator.cc 2020-04-13 15:42:35.830413667 -0400 @@ -63,6 +63,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 @@ -75,6 +76,7 @@ bool IsGeminiLakeOrLater() { cpuid.model() >= kGeminiLakeModelId; return is_geminilake_or_later; } +#endif // Returns the size of a rectangle whose upper left corner is at the origin (0, // 0) and whose bottom right corner is the same as that of |rect|. This is @@ -1204,6 +1206,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 @@ -1220,6 +1224,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