From 54fd2f257688fe18aafdc1d0ee1e3361e90e5a73 Mon Sep 17 00:00:00 2001 From: suvari Date: Fri, 24 Apr 2020 22:10:27 +0300 Subject: [PATCH] chromium-browser: version bump to 81.0.4044.122 --- network/web/chromium-browser/actions.py | 4 +- .../files/vaapi-build-fix.patch | 51 +++++++++++++ .../files/vdpau-support.patch | 74 +++++++++++++++++++ network/web/chromium-browser/pspec.xml | 22 +++--- 4 files changed, 138 insertions(+), 13 deletions(-) create mode 100644 network/web/chromium-browser/files/vaapi-build-fix.patch create mode 100644 network/web/chromium-browser/files/vdpau-support.patch diff --git a/network/web/chromium-browser/actions.py b/network/web/chromium-browser/actions.py index 9de8ecb019..ad08da9b24 100644 --- a/network/web/chromium-browser/actions.py +++ b/network/web/chromium-browser/actions.py @@ -69,8 +69,8 @@ def setup(): shelltools.export("CXXFLAGS", "-Wno-builtin-macro-redefined") shelltools.export("CPPFLAGS", "-D__DATE__= -D__TIME__= -D__TIMESTAMP__=") - shelltools.system("build/download_nacl_toolchains.py --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator sync --extract") - shelltools.system("tools/clang/scripts/update.py") + shelltools.system("/usr/bin/python3 build/download_nacl_toolchains.py --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator sync --extract") + shelltools.system("/usr/bin/python3 tools/clang/scripts/update.py") shelltools.system("tools/gn/bootstrap/bootstrap.py --gn-gen-args '%s'"% opt) shelltools.system("out/Release/gn gen out/Release --args='%s'"% opt) diff --git a/network/web/chromium-browser/files/vaapi-build-fix.patch b/network/web/chromium-browser/files/vaapi-build-fix.patch new file mode 100644 index 0000000000..2b7851acec --- /dev/null +++ b/network/web/chromium-browser/files/vaapi-build-fix.patch @@ -0,0 +1,51 @@ +From 5b2ff215473e0526b5b24aeff4ad90d369b21c75 Mon Sep 17 00:00:00 2001 +From: Julien Isorce +Date: Wed, 05 Feb 2020 17:59:59 +0000 +Subject: [PATCH] Fix vaapi with GLX + +The signature of ui's gl::GLImageGLX has changed a little bit +since "mplement GpuMemoryBuffers for EGL and GLX": + https://chromium-review.googlesource.com/c/chromium/src/+/1984712 + +Bug: 1031269 +Test: build with use_vaapi=true and run with --use-gl=desktop, see +Change-Id: I80b07294b9abdfa8233aaf79f7d9ec4c58117090 +https: //chromium.googlesource.com/chromium/src.git/+/refs/heads/master/docs/gpu/vaapi.md#vaapi-on-linux +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2036494 +Reviewed-by: Thomas Anderson +Reviewed-by: Miguel Casas +Commit-Queue: Julien Isorce +Cr-Commit-Position: refs/heads/master@{#738595} +--- + +diff --git a/media/gpu/vaapi/vaapi_picture_tfp.cc b/media/gpu/vaapi/vaapi_picture_tfp.cc +index 227c31b..b42620d 100644 +--- a/media/gpu/vaapi/vaapi_picture_tfp.cc ++++ b/media/gpu/vaapi/vaapi_picture_tfp.cc +@@ -57,7 +57,7 @@ + if (make_context_current_cb_ && !make_context_current_cb_.Run()) + return false; + +- glx_image_ = new gl::GLImageGLX(size_, GL_RGB); ++ glx_image_ = new gl::GLImageGLX(size_, gfx::BufferFormat::BGRX_8888); + if (!glx_image_->Initialize(x_pixmap_)) { + // x_pixmap_ will be freed in the destructor. + DLOG(ERROR) << "Failed creating a GLX Pixmap for TFP"; +--- a/media/mojo/services/gpu_mojo_media_client.cc 2020-04-02 21:11:34.000000000 -0700 ++++ b/media/mojo/services/gpu_mojo_media_client.cc 2020-04-09 00:44:58.871366432 -0700 +@@ -158,6 +158,7 @@ + *d3d11_supported_configs_; + + #elif BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION) ++#if defined(OS_CHROMEOS) + if (base::FeatureList::IsEnabled(kChromeosVideoDecoder)) { + if (!cros_supported_configs_) { + cros_supported_configs_ = +@@ -167,6 +168,7 @@ + *cros_supported_configs_; + return supported_config_map; + } ++#endif //defined(OS_CHROMEOS) + #endif + + auto& default_configs = diff --git a/network/web/chromium-browser/files/vdpau-support.patch b/network/web/chromium-browser/files/vdpau-support.patch new file mode 100644 index 0000000000..b5372d1a25 --- /dev/null +++ b/network/web/chromium-browser/files/vdpau-support.patch @@ -0,0 +1,74 @@ +--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc ++++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc +@@ -641,6 +641,7 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers( + // |vpp_vaapi_wrapper_| for VaapiPicture to DownloadFromSurface() the VA's + // internal decoded frame. + if (buffer_allocation_mode_ != BufferAllocationMode::kNone && ++ buffer_allocation_mode_ != BufferAllocationMode::kWrapVdpau && + !vpp_vaapi_wrapper_) { + vpp_vaapi_wrapper_ = VaapiWrapper::Create( + VaapiWrapper::kVideoProcess, VAProfileNone, +@@ -665,7 +666,8 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers( + PictureBuffer buffer = buffers[i]; + buffer.set_size(requested_pic_size_); + std::unique_ptr picture = vaapi_picture_factory_->Create( +- (buffer_allocation_mode_ == BufferAllocationMode::kNone) ++ ((buffer_allocation_mode_ == BufferAllocationMode::kNone) || ++ (buffer_allocation_mode_ == BufferAllocationMode::kWrapVdpau)) + ? vaapi_wrapper_ + : vpp_vaapi_wrapper_, + make_context_current_cb_, bind_image_cb_, buffer); +@@ -1093,6 +1095,12 @@ VaapiVideoDecodeAccelerator::GetSupportedProfiles() { + + VaapiVideoDecodeAccelerator::BufferAllocationMode + VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() { ++ // NVIDIA blobs use VDPAU ++ if (VaapiWrapper::GetImplementationType() == VAImplementation::kNVIDIAVDPAU) { ++ LOG(INFO) << "VA-API driver on VDPAU backend"; ++ return BufferAllocationMode::kWrapVdpau; ++ } ++ + // TODO(crbug.com/912295): Enable a better BufferAllocationMode for IMPORT + // |output_mode_| as well. + if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT) +@@ -1105,7 +1113,7 @@ VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() { + // depends on the bitstream and sometimes it's not enough to cover the amount + // of frames needed by the client pipeline (see b/133733739). + // TODO(crbug.com/911754): Enable for VP9 Profile 2. +- if (IsGeminiLakeOrLater() && ++ if (false && IsGeminiLakeOrLater() && + (profile_ == VP9PROFILE_PROFILE0 || profile_ == VP8PROFILE_ANY)) { + // Add one to the reference frames for the one being currently egressed, and + // an extra allocation for both |client_| and |decoder_|, see +--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.h ++++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.h +@@ -204,6 +204,7 @@ class MEDIA_GPU_EXPORT VaapiVideoDecodeAccelerator + // Using |client_|s provided PictureBuffers and as many internally + // allocated. + kNormal, ++ kWrapVdpau, + }; + + // Decides the concrete buffer allocation mode, depending on the hardware +--- a/media/gpu/vaapi/vaapi_wrapper.cc ++++ b/media/gpu/vaapi/vaapi_wrapper.cc +@@ -131,6 +131,9 @@ media::VAImplementation VendorStringToImplementationType( + } else if (base::StartsWith(va_vendor_string, "Intel iHD driver", + base::CompareCase::SENSITIVE)) { + return media::VAImplementation::kIntelIHD; ++ } else if (base::StartsWith(va_vendor_string, "Splitted-Desktop Systems VDPAU", ++ base::CompareCase::SENSITIVE)) { ++ return media::VAImplementation::kNVIDIAVDPAU; + } + return media::VAImplementation::kOther; + } +--- a/media/gpu/vaapi/vaapi_wrapper.h ++++ b/media/gpu/vaapi/vaapi_wrapper.h +@@ -79,6 +79,7 @@ enum class VAImplementation { + kIntelIHD, + kOther, + kInvalid, ++ kNVIDIAVDPAU, + }; + + // This class handles VA-API calls and ensures proper locking of VA-API calls diff --git a/network/web/chromium-browser/pspec.xml b/network/web/chromium-browser/pspec.xml index 729b04fa73..5164aba5b7 100644 --- a/network/web/chromium-browser/pspec.xml +++ b/network/web/chromium-browser/pspec.xml @@ -1,5 +1,5 @@ - + chromium-browser @@ -13,7 +13,7 @@ app:gui A WebKit powered web browser Chromium-browser is an open-source web browser, powered by WebKit. - http://gsdview.appspot.com/chromium-browser-official/chromium-80.0.3987.106.tar.xz + http://gsdview.appspot.com/chromium-browser-official/chromium-81.0.4044.122.tar.xz alsa-lib-devel at-spi2-atk-devel @@ -95,16 +95,10 @@ chromium-skia-harmony.patch chromium-widevine.patch - cros-search-service-Include-cmath-for-std-pow.patch - fix-building-with-unbundled-libxml.patch - fix-shim-header-generation-when-unbundling-ICU.patch - move-RemoteTreeNode-declaration.patch rebuild-Linux-frame-button-cache-when-activation.patch - remove-verbose-logging-in-local-unique-font-matching.patch rename-Relayout-in-DesktopWindowTreeHostPlatform.patch - sync-enable-USSPasswords-by-default.patch - vaapi-fix-wayland-init.patch - vaapi-fix.patch + vaapi-build-fix.patch + vdpau-support.patch @@ -162,7 +156,6 @@ freetype libdrm libjpeg-turbo - /etc @@ -183,6 +176,13 @@ + + 2020-04-15 + 81.0.4044.122 + Version Bump + Idris Kalp + idriskalp@gmail.com + 2020-02-28 80.0.3987.106