Merge pull request #9798 from IdrisKalp/master
chromium-browser 95.0.4638.54
This commit is contained in:
@@ -23,11 +23,11 @@ def setup():
|
||||
|
||||
shelltools.system("sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py")
|
||||
|
||||
for LIB in ["ffmpeg", "freetype", "flac", "fontconfig", "harfbuzz-ng", "libdrm", "libjpeg_turbo", "libpng", "libwebp", "libxml", "libxslt", "opus", "snappy", "zlib"]:
|
||||
shelltools.system('find "third_party/%s" -type f \! -path "third_party/%s/chromium/*" \! -path "*third_party/%s/google/*" \! -path "third_party/harfbuzz-ng/utils/hb_scoped.h" \! -regex ".*\.\(gn\|gni\|isolate\)" -delete' %(LIB, LIB, LIB))
|
||||
#for LIB in ["ffmpeg", "freetype", "flac", "fontconfig", "harfbuzz-ng", "libdrm", "libjpeg_turbo", "libpng", "libwebp", "libxml", "libxslt", "opus", "snappy", "zlib"]:
|
||||
#shelltools.system('find "third_party/%s" -type f \! -path "third_party/%s/chromium/*" \! -path "*third_party/%s/google/*" \! -path "third_party/harfbuzz-ng/utils/hb_scoped.h" \! -regex ".*\.\(gn\|gni\|isolate\)" -delete' %(LIB, LIB, LIB))
|
||||
|
||||
|
||||
shelltools.system("build/linux/unbundle/replace_gn_files.py --system-libraries ffmpeg freetype flac fontconfig harfbuzz-ng libdrm libjpeg libpng libwebp libxml libxslt opus snappy zlib")
|
||||
#shelltools.system("build/linux/unbundle/replace_gn_files.py --system-libraries ffmpeg freetype flac fontconfig harfbuzz-ng libdrm libjpeg libpng libwebp libxml libxslt opus snappy zlib")
|
||||
|
||||
shelltools.system("sed -i -e 's/\<xmlMalloc\>/malloc/' -e 's/\<xmlFree\>/free/' \
|
||||
third_party/blink/renderer/core/xml/*.cc \
|
||||
@@ -41,7 +41,7 @@ def setup():
|
||||
enable_nacl_nonsfi=false \
|
||||
rtc_use_pipewire=true \
|
||||
use_custom_libcxx=true \
|
||||
clang_use_chrome_plugins=false \
|
||||
clang_use_chrome_plugins=true \
|
||||
is_official_build=true \
|
||||
fieldtrial_testing_like_official_build=true \
|
||||
clang_use_chrome_plugins=false \
|
||||
@@ -65,9 +65,8 @@ def setup():
|
||||
closure_compile=false \
|
||||
symbol_level=0 \
|
||||
use_lld=true \
|
||||
thin_lto_enable_optimizations = true \
|
||||
chrome_pgo_phase=2 \
|
||||
use_thin_lto=false \
|
||||
is_cfi=false \
|
||||
enable_mse_mpeg2ts_stream_parser=true \
|
||||
enable_platform_dolby_vision=true \
|
||||
enable_platform_mpeg_h_audio=true \
|
||||
@@ -75,9 +74,7 @@ def setup():
|
||||
enable_platform_hevc=true \
|
||||
use_aura=true \
|
||||
use_ozone=true \
|
||||
use_dbus=true \
|
||||
ozone_auto_platforms=false \
|
||||
ozone_platform_headless=true'
|
||||
use_dbus=true'
|
||||
|
||||
|
||||
|
||||
@@ -114,7 +111,7 @@ def install():
|
||||
|
||||
#should be checked should for the missing folder "out/Release"
|
||||
for vla in ["*.pak", "*.json", "chrome", "locales", "resources", "icudtl.dat", "mksnapshot", "chromedriver", "snapshot_blob.bin", "character_data_generator", \
|
||||
"libEGL.so", "libGLESv2.so", "libVk*.so", "v8_context_snapshot.bin", "MEIPreload", "nacl_helper", "nacl_helper_bootstrap", "nacl_irt_x86_64.nexe"]:
|
||||
"libEGL.so", "libGLESv2.so", "libVk*.so", "v8_context_snapshot.bin", "MEIPreload", "nacl_helper", "nacl_helper_bootstrap", "nacl_irt_x86_64.nexe", "chrome_crashpad_handler"]:
|
||||
pisitools.insinto("/usr/lib/chromium-browser", "%s" % vla)
|
||||
|
||||
pisitools.insinto("/usr/lib/chromium-browser", "chrome_sandbox", "chrome-sandbox")
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From 7a23987acb698c2934958cb42a5e7b1cd73fe142 Mon Sep 17 00:00:00 2001
|
||||
From: Nico Weber <thakis@chromium.org>
|
||||
Date: Tue, 20 Jul 2021 21:54:09 +0000
|
||||
Subject: [PATCH] build: Add a TODO about a missing pnacl flag
|
||||
|
||||
Change-Id: I1700d185a23afe4120e14c755782450b1bf89289
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041785
|
||||
Commit-Queue: Nico Weber <thakis@chromium.org>
|
||||
Commit-Queue: Hans Wennborg <hans@chromium.org>
|
||||
Auto-Submit: Nico Weber <thakis@chromium.org>
|
||||
Reviewed-by: Hans Wennborg <hans@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/master@{#903659}
|
||||
---
|
||||
build/config/compiler/BUILD.gn | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
index b6e095b705..ef6d1dfc12 100644
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -1217,6 +1217,7 @@ config("compiler_deterministic") {
|
||||
# we build same files with same compile flag.
|
||||
# Other paths are already given in relative, no need to normalize them.
|
||||
if (is_nacl) {
|
||||
+ # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
|
||||
cflags += [
|
||||
"-Xclang",
|
||||
"-fdebug-compilation-dir",
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
From 0aa878b7839141077071db97ba1cd30edf486827 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Wed, 15 Sep 2021 17:14:14 +0000
|
||||
Subject: [PATCH] maldoca: depend on zlib instead of headers only
|
||||
|
||||
There is no zlib_common_headers target for unbundled zlib
|
||||
and in the end code links against zlib static library anyways.
|
||||
|
||||
Bug: None
|
||||
Change-Id: I50b8bb5b480770b637904de00aecc3a629f09471
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3162976
|
||||
Reviewed-by: Daniel Rubery <drubery@chromium.org>
|
||||
Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
|
||||
Cr-Commit-Position: refs/heads/main@{#921717}
|
||||
---
|
||||
third_party/maldoca/BUILD.gn | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/third_party/maldoca/BUILD.gn b/third_party/maldoca/BUILD.gn
|
||||
index eeab2056b5..29a0a2ca49 100644
|
||||
--- a/third_party/maldoca/BUILD.gn
|
||||
+++ b/third_party/maldoca/BUILD.gn
|
||||
@@ -224,7 +224,7 @@ source_set("maldoca-ole") {
|
||||
"//third_party/libxml",
|
||||
"//third_party/protobuf:protobuf_lite",
|
||||
"//third_party/re2",
|
||||
- "//third_party/zlib:zlib_common_headers",
|
||||
+ "//third_party/zlib:zlib",
|
||||
"//third_party/zlib/google:zip",
|
||||
]
|
||||
|
||||
@@ -0,0 +1,671 @@
|
||||
From a4de986102a45e29c3ef596f22704bdca244c26c Mon Sep 17 00:00:00 2001
|
||||
From: Maksim Sisov <msisov@igalia.com>
|
||||
Date: Fri, 17 Sep 2021 08:45:55 +0000
|
||||
Subject: [PATCH] ozone/x11: fix VA-API.
|
||||
|
||||
This patch fixes VA-API usage with Ozone/X11 backend (which
|
||||
is our default backend now as X11 has been deprecated -
|
||||
crrev.com/c/3114071)).
|
||||
|
||||
non-Ozone X11 is disabled now and Ozone is always used
|
||||
on Linux. However, VA-API implementation is not Ozone friendly
|
||||
yet and requires major refactoring. But given that VA-API
|
||||
implementation on Linux worked only with X11, it's fine for
|
||||
now to change USE_X11 and !IsUsingOzonePlatform to
|
||||
BUILDFLAG(OZONE_PLATFORM_X11) and fail VA-API initialization
|
||||
in VADisplayState::Initialize for Ozone/Linux other than
|
||||
non-X11 backends.
|
||||
|
||||
Bug: 1121948
|
||||
Change-Id: If85d289235e6d358103d9fa2bbe0f741fb599a26
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3141878
|
||||
Commit-Queue: Maksim Sisov <msisov@igalia.com>
|
||||
Reviewed-by: Andres Calderon Jaramillo <andrescj@chromium.org>
|
||||
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
|
||||
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
|
||||
Reviewed-by: Alexander Dunaev <adunaev@igalia.com>
|
||||
Cr-Commit-Position: refs/heads/main@{#922466}
|
||||
---
|
||||
media/BUILD.gn | 3 -
|
||||
media/gpu/BUILD.gn | 5 +-
|
||||
media/gpu/args.gni | 13 +++-
|
||||
media/gpu/vaapi/BUILD.gn | 8 +-
|
||||
media/gpu/vaapi/va_stub_header.fragment | 6 +-
|
||||
media/gpu/vaapi/vaapi_picture_factory.cc | 72 ++++++++----------
|
||||
.../vaapi_picture_native_pixmap_angle.cc | 2 -
|
||||
media/gpu/vaapi/vaapi_picture_tfp.cc | 2 -
|
||||
.../vaapi/vaapi_video_decode_accelerator.cc | 9 +--
|
||||
...vaapi_video_decode_accelerator_unittest.cc | 11 +--
|
||||
media/gpu/vaapi/vaapi_wrapper.cc | 76 +++++++++----------
|
||||
media/gpu/vaapi/vaapi_wrapper.h | 8 +-
|
||||
ui/ozone/platform/x11/ozone_platform_x11.cc | 3 +
|
||||
ui/ozone/public/ozone_platform.h | 10 +++
|
||||
14 files changed, 108 insertions(+), 120 deletions(-)
|
||||
|
||||
diff --git a/media/BUILD.gn b/media/BUILD.gn
|
||||
index dbee1d4338..d5c158c08f 100644
|
||||
--- a/media/BUILD.gn
|
||||
+++ b/media/BUILD.gn
|
||||
@@ -130,9 +130,6 @@ component("media") {
|
||||
public_deps += [ "//media/base/mac" ]
|
||||
}
|
||||
|
||||
- if (use_x11) {
|
||||
- deps += [ "//ui/base/x" ]
|
||||
- }
|
||||
if (use_ozone) {
|
||||
deps += [ "//ui/ozone" ]
|
||||
}
|
||||
diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn
|
||||
index c7499485ac..3fedc78948 100644
|
||||
--- a/media/gpu/BUILD.gn
|
||||
+++ b/media/gpu/BUILD.gn
|
||||
@@ -20,6 +20,7 @@ buildflag_header("buildflags") {
|
||||
"USE_VAAPI_IMAGE_CODECS=$use_vaapi_image_codecs",
|
||||
"USE_V4L2_CODEC=$use_v4l2_codec",
|
||||
"USE_LIBV4L2=$use_v4lplugin",
|
||||
+ "USE_VAAPI_X11=$use_vaapi_x11",
|
||||
]
|
||||
}
|
||||
|
||||
@@ -215,9 +216,7 @@ component("gpu") {
|
||||
"windows/supported_profile_helpers.cc",
|
||||
"windows/supported_profile_helpers.h",
|
||||
]
|
||||
- configs += [
|
||||
- "//third_party/khronos:khronos_headers",
|
||||
- ]
|
||||
+ configs += [ "//third_party/khronos:khronos_headers" ]
|
||||
public_deps += [ "//media/base/win:media_foundation_util" ]
|
||||
deps += [
|
||||
"//gpu/ipc/common:common",
|
||||
diff --git a/media/gpu/args.gni b/media/gpu/args.gni
|
||||
index 4004937949..2f53843918 100644
|
||||
--- a/media/gpu/args.gni
|
||||
+++ b/media/gpu/args.gni
|
||||
@@ -3,7 +3,15 @@
|
||||
# found in the LICENSE file.
|
||||
|
||||
import("//build/config/chromeos/ui_mode.gni")
|
||||
-import("//build/config/ui.gni")
|
||||
+import("//build/config/ozone.gni")
|
||||
+
|
||||
+declare_args() {
|
||||
+ # Indicates if X11 VA-API-based hardware acceleration is to be used.
|
||||
+ # See also the comment near the |use_vaapi| arg.
|
||||
+ use_vaapi_x11 =
|
||||
+ is_linux && ozone_platform_x11 && !is_chromecast && !is_chromeos_lacros &&
|
||||
+ (target_cpu == "x86" || target_cpu == "x64")
|
||||
+}
|
||||
|
||||
declare_args() {
|
||||
# Indicates if V4L plugin is used.
|
||||
@@ -21,8 +29,7 @@ declare_args() {
|
||||
# is typically the case on x86-based ChromeOS devices.
|
||||
# VA-API should also be compiled by default on x11-using linux devices
|
||||
# using x86/x64.
|
||||
- use_vaapi =
|
||||
- is_linux && use_x11 && (target_cpu == "x86" || target_cpu == "x64")
|
||||
+ use_vaapi = use_vaapi_x11
|
||||
|
||||
# Indicates if ChromeOS protected media support exists. This is used
|
||||
# to enable the CDM daemon in Chrome OS as well as support for
|
||||
diff --git a/media/gpu/vaapi/BUILD.gn b/media/gpu/vaapi/BUILD.gn
|
||||
index b11d2c60fa..0c2520dd6b 100644
|
||||
--- a/media/gpu/vaapi/BUILD.gn
|
||||
+++ b/media/gpu/vaapi/BUILD.gn
|
||||
@@ -17,7 +17,7 @@ assert(use_vaapi)
|
||||
generate_stubs("libva_stubs") {
|
||||
extra_header = "va_stub_header.fragment"
|
||||
sigs = [ "va.sigs" ]
|
||||
- if (use_x11) {
|
||||
+ if (use_vaapi_x11) {
|
||||
sigs += [ "va_x11.sigs" ]
|
||||
}
|
||||
if (is_chromeos_ash) {
|
||||
@@ -131,14 +131,14 @@ source_set("vaapi") {
|
||||
]
|
||||
}
|
||||
|
||||
- if (use_x11 || use_ozone || use_egl) {
|
||||
+ if (use_ozone || use_egl) {
|
||||
sources += [
|
||||
"vaapi_picture_native_pixmap.cc",
|
||||
"vaapi_picture_native_pixmap.h",
|
||||
]
|
||||
}
|
||||
|
||||
- if (use_x11) {
|
||||
+ if (use_vaapi_x11) {
|
||||
deps += [ "//ui/gfx/x" ]
|
||||
sources += [
|
||||
"vaapi_picture_native_pixmap_angle.cc",
|
||||
@@ -197,7 +197,7 @@ source_set("common") {
|
||||
deps += [ "//ui/ozone" ]
|
||||
}
|
||||
|
||||
- if (use_x11) {
|
||||
+ if (use_vaapi_x11) {
|
||||
deps += [ "//ui/gfx/x" ]
|
||||
}
|
||||
|
||||
diff --git a/media/gpu/vaapi/va_stub_header.fragment b/media/gpu/vaapi/va_stub_header.fragment
|
||||
index bed198484d..e8c46c5e81 100644
|
||||
--- a/media/gpu/vaapi/va_stub_header.fragment
|
||||
+++ b/media/gpu/vaapi/va_stub_header.fragment
|
||||
@@ -1,12 +1,14 @@
|
||||
// The extra include header needed in the generated stub file for defining
|
||||
// various libva types.
|
||||
|
||||
+#include "media/gpu/buildflags.h"
|
||||
+
|
||||
extern "C" {
|
||||
|
||||
#include <va/va_drm.h>
|
||||
#include <va/va.h>
|
||||
-#if defined(USE_X11)
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
#include <va/va_x11.h>
|
||||
-#endif
|
||||
+#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
|
||||
}
|
||||
diff --git a/media/gpu/vaapi/vaapi_picture_factory.cc b/media/gpu/vaapi/vaapi_picture_factory.cc
|
||||
index 719035b87c..9c7d7387d2 100644
|
||||
--- a/media/gpu/vaapi/vaapi_picture_factory.cc
|
||||
+++ b/media/gpu/vaapi/vaapi_picture_factory.cc
|
||||
@@ -10,13 +10,13 @@
|
||||
#include "ui/base/ui_base_features.h"
|
||||
#include "ui/gl/gl_bindings.h"
|
||||
|
||||
-#if defined(USE_X11)
|
||||
-#include "media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h"
|
||||
-#include "media/gpu/vaapi/vaapi_picture_tfp.h"
|
||||
-#endif
|
||||
#if defined(USE_OZONE)
|
||||
#include "media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.h"
|
||||
-#endif
|
||||
+#endif // defined(USE_OZONE)
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+#include "media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h"
|
||||
+#include "media/gpu/vaapi/vaapi_picture_tfp.h"
|
||||
+#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
#if defined(USE_EGL)
|
||||
#include "media/gpu/vaapi/vaapi_picture_native_pixmap_egl.h"
|
||||
#endif
|
||||
@@ -46,15 +46,13 @@ VaapiPictureFactory::VaapiPictureFactory() {
|
||||
vaapi_impl_pairs_.insert(
|
||||
std::make_pair(gl::kGLImplementationEGLGLES2,
|
||||
VaapiPictureFactory::kVaapiImplementationDrm));
|
||||
-#if defined(USE_X11)
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
vaapi_impl_pairs_.insert(
|
||||
std::make_pair(gl::kGLImplementationEGLANGLE,
|
||||
VaapiPictureFactory::kVaapiImplementationAngle));
|
||||
- if (!features::IsUsingOzonePlatform()) {
|
||||
- vaapi_impl_pairs_.insert(
|
||||
- std::make_pair(gl::kGLImplementationDesktopGL,
|
||||
- VaapiPictureFactory::kVaapiImplementationX11));
|
||||
- }
|
||||
+ vaapi_impl_pairs_.insert(
|
||||
+ std::make_pair(gl::kGLImplementationDesktopGL,
|
||||
+ VaapiPictureFactory::kVaapiImplementationX11));
|
||||
#endif
|
||||
|
||||
DeterminePictureCreationAndDownloadingMechanism();
|
||||
@@ -96,19 +94,19 @@ VaapiPictureFactory::GetVaapiImplementation(gl::GLImplementation gl_impl) {
|
||||
}
|
||||
|
||||
uint32_t VaapiPictureFactory::GetGLTextureTarget() {
|
||||
-#if defined(USE_OZONE)
|
||||
- if (features::IsUsingOzonePlatform())
|
||||
- return GL_TEXTURE_EXTERNAL_OES;
|
||||
-#endif
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
return GL_TEXTURE_2D;
|
||||
+#else
|
||||
+ return GL_TEXTURE_EXTERNAL_OES;
|
||||
+#endif
|
||||
}
|
||||
|
||||
gfx::BufferFormat VaapiPictureFactory::GetBufferFormat() {
|
||||
-#if defined(USE_OZONE)
|
||||
- if (features::IsUsingOzonePlatform())
|
||||
- return gfx::BufferFormat::YUV_420_BIPLANAR;
|
||||
-#endif
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
return gfx::BufferFormat::RGBX_8888;
|
||||
+#else
|
||||
+ return gfx::BufferFormat::YUV_420_BIPLANAR;
|
||||
+#endif
|
||||
}
|
||||
|
||||
void VaapiPictureFactory::DeterminePictureCreationAndDownloadingMechanism() {
|
||||
@@ -116,51 +114,43 @@ void VaapiPictureFactory::DeterminePictureCreationAndDownloadingMechanism() {
|
||||
#if defined(USE_OZONE)
|
||||
// We can be called without GL initialized, which is valid if we use Ozone.
|
||||
case kVaapiImplementationNone:
|
||||
- if (features::IsUsingOzonePlatform()) {
|
||||
- create_picture_cb_ = base::BindRepeating(
|
||||
- &CreateVaapiPictureNativeImpl<VaapiPictureNativePixmapOzone>);
|
||||
- needs_vpp_for_downloading_ = true;
|
||||
- }
|
||||
-
|
||||
- // This is reached by unit tests which don't require create_picture_cb_
|
||||
- // to be initialized or called.
|
||||
+ create_picture_cb_ = base::BindRepeating(
|
||||
+ &CreateVaapiPictureNativeImpl<VaapiPictureNativePixmapOzone>);
|
||||
+ needs_vpp_for_downloading_ = true;
|
||||
break;
|
||||
#endif // defined(USE_OZONE)
|
||||
-#if defined(USE_X11)
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
case kVaapiImplementationX11:
|
||||
- DCHECK(!features::IsUsingOzonePlatform());
|
||||
create_picture_cb_ =
|
||||
base::BindRepeating(&CreateVaapiPictureNativeImpl<VaapiTFPPicture>);
|
||||
// Neither VaapiTFPPicture or VaapiPictureNativePixmapAngle needs the VPP.
|
||||
needs_vpp_for_downloading_ = false;
|
||||
break;
|
||||
case kVaapiImplementationAngle:
|
||||
- DCHECK(!features::IsUsingOzonePlatform());
|
||||
create_picture_cb_ = base::BindRepeating(
|
||||
&CreateVaapiPictureNativeImpl<VaapiPictureNativePixmapAngle>);
|
||||
// Neither VaapiTFPPicture or VaapiPictureNativePixmapAngle needs the VPP.
|
||||
needs_vpp_for_downloading_ = false;
|
||||
break;
|
||||
-#endif // defined(USE_X11)
|
||||
+#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
case kVaapiImplementationDrm:
|
||||
#if defined(USE_OZONE)
|
||||
- if (features::IsUsingOzonePlatform()) {
|
||||
- create_picture_cb_ = base::BindRepeating(
|
||||
- &CreateVaapiPictureNativeImpl<VaapiPictureNativePixmapOzone>);
|
||||
- needs_vpp_for_downloading_ = true;
|
||||
- break;
|
||||
- }
|
||||
-#endif // defined(USE_OZONE)
|
||||
-#if defined(USE_EGL)
|
||||
+ create_picture_cb_ = base::BindRepeating(
|
||||
+ &CreateVaapiPictureNativeImpl<VaapiPictureNativePixmapOzone>);
|
||||
+ needs_vpp_for_downloading_ = true;
|
||||
+ break;
|
||||
+#elif defined(USE_EGL)
|
||||
create_picture_cb_ = base::BindRepeating(
|
||||
&CreateVaapiPictureNativeImpl<VaapiPictureNativePixmapEgl>);
|
||||
needs_vpp_for_downloading_ = true;
|
||||
break;
|
||||
-#endif // defined(USE_EGL)
|
||||
+#else
|
||||
// ozone or egl must be used to use the DRM implementation.
|
||||
- NOTREACHED();
|
||||
+ FALLTHROUGH;
|
||||
+#endif
|
||||
default:
|
||||
NOTREACHED();
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc b/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc
|
||||
index 9de0c93b44..e5b9908490 100644
|
||||
--- a/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc
|
||||
+++ b/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
#include "media/gpu/vaapi/va_surface.h"
|
||||
#include "media/gpu/vaapi/vaapi_wrapper.h"
|
||||
-#include "ui/base/ui_base_features.h"
|
||||
#include "ui/gfx/x/connection.h"
|
||||
#include "ui/gfx/x/future.h"
|
||||
#include "ui/gfx/x/xproto.h"
|
||||
@@ -92,7 +91,6 @@ Status VaapiPictureNativePixmapAngle::Allocate(gfx::BufferFormat format) {
|
||||
if (!make_context_current_cb_ || !make_context_current_cb_.Run())
|
||||
return StatusCode::kVaapiBadContext;
|
||||
|
||||
- DCHECK(!features::IsUsingOzonePlatform());
|
||||
auto image =
|
||||
base::MakeRefCounted<gl::GLImageEGLPixmap>(visible_size_, format);
|
||||
if (!image)
|
||||
diff --git a/media/gpu/vaapi/vaapi_picture_tfp.cc b/media/gpu/vaapi/vaapi_picture_tfp.cc
|
||||
index 3f7e221d8a..11914e3640 100644
|
||||
--- a/media/gpu/vaapi/vaapi_picture_tfp.cc
|
||||
+++ b/media/gpu/vaapi/vaapi_picture_tfp.cc
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
#include "media/gpu/vaapi/va_surface.h"
|
||||
#include "media/gpu/vaapi/vaapi_wrapper.h"
|
||||
-#include "ui/base/ui_base_features.h"
|
||||
#include "ui/gfx/x/connection.h"
|
||||
#include "ui/gfx/x/future.h"
|
||||
#include "ui/gl/gl_bindings.h"
|
||||
@@ -37,7 +36,6 @@ VaapiTFPPicture::VaapiTFPPicture(
|
||||
connection_(x11::Connection::Get()),
|
||||
x_pixmap_(x11::Pixmap::None) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
- DCHECK(!features::IsUsingOzonePlatform());
|
||||
DCHECK(texture_id);
|
||||
DCHECK(client_texture_id);
|
||||
}
|
||||
diff --git a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
|
||||
index 7514fe4fdd..e4cd7c8d89 100644
|
||||
--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
|
||||
+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
|
||||
@@ -184,12 +184,6 @@ bool VaapiVideoDecodeAccelerator::Initialize(const Config& config,
|
||||
Client* client) {
|
||||
DCHECK(task_runner_->BelongsToCurrentThread());
|
||||
|
||||
-#if defined(USE_X11)
|
||||
- // TODO(crbug/1116701): implement decode acceleration when running with Ozone.
|
||||
- if (features::IsUsingOzonePlatform())
|
||||
- return false;
|
||||
-#endif
|
||||
-
|
||||
vaapi_picture_factory_ = std::make_unique<VaapiPictureFactory>();
|
||||
|
||||
if (config.is_encrypted()) {
|
||||
@@ -1213,12 +1207,11 @@ VaapiVideoDecodeAccelerator::GetSupportedProfiles() {
|
||||
|
||||
VaapiVideoDecodeAccelerator::BufferAllocationMode
|
||||
VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() {
|
||||
-#if defined(USE_X11)
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
// The IMPORT mode is used for Android on Chrome OS, so this doesn't apply
|
||||
// here.
|
||||
DCHECK_NE(output_mode_, VideoDecodeAccelerator::Config::OutputMode::IMPORT);
|
||||
// TODO(crbug/1116701): get video decode acceleration working with ozone.
|
||||
- DCHECK(!features::IsUsingOzonePlatform());
|
||||
// For H.264 on older devices, another +1 is experimentally needed for
|
||||
// high-to-high resolution changes.
|
||||
// TODO(mcasas): Figure out why and why only H264, see crbug.com/912295 and
|
||||
diff --git a/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc b/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc
|
||||
index 5b9a543386..826bb103b1 100644
|
||||
--- a/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc
|
||||
+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc
|
||||
@@ -17,7 +17,6 @@
|
||||
#include "media/gpu/vaapi/vaapi_wrapper.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
-#include "ui/base/ui_base_features.h"
|
||||
|
||||
using base::test::RunClosure;
|
||||
using ::testing::_;
|
||||
@@ -416,12 +415,10 @@ TEST_P(VaapiVideoDecodeAcceleratorTest, SupportedPlatforms) {
|
||||
mock_vaapi_picture_factory_->GetVaapiImplementation(
|
||||
gl::kGLImplementationEGLGLES2));
|
||||
|
||||
-#if defined(USE_X11)
|
||||
- if (!features::IsUsingOzonePlatform()) {
|
||||
- EXPECT_EQ(VaapiPictureFactory::kVaapiImplementationX11,
|
||||
- mock_vaapi_picture_factory_->GetVaapiImplementation(
|
||||
- gl::kGLImplementationDesktopGL));
|
||||
- }
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+ EXPECT_EQ(VaapiPictureFactory::kVaapiImplementationX11,
|
||||
+ mock_vaapi_picture_factory_->GetVaapiImplementation(
|
||||
+ gl::kGLImplementationDesktopGL));
|
||||
#endif
|
||||
}
|
||||
|
||||
diff --git a/media/gpu/vaapi/vaapi_wrapper.cc b/media/gpu/vaapi/vaapi_wrapper.cc
|
||||
index 754d258848..e528b0f84d 100644
|
||||
--- a/media/gpu/vaapi/vaapi_wrapper.cc
|
||||
+++ b/media/gpu/vaapi/vaapi_wrapper.cc
|
||||
@@ -65,7 +65,7 @@
|
||||
#include "ui/gl/gl_bindings.h"
|
||||
#include "ui/gl/gl_implementation.h"
|
||||
|
||||
-#if defined(USE_X11)
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
typedef XID Drawable;
|
||||
|
||||
extern "C" {
|
||||
@@ -73,7 +73,7 @@ extern "C" {
|
||||
}
|
||||
|
||||
#include "ui/gfx/x/connection.h" // nogncheck
|
||||
-#endif
|
||||
+#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
|
||||
#if defined(USE_OZONE)
|
||||
#include "ui/ozone/public/ozone_platform.h"
|
||||
@@ -87,14 +87,14 @@ using media_gpu_vaapi::kModuleVa_prot;
|
||||
|
||||
using media_gpu_vaapi::kModuleVa;
|
||||
using media_gpu_vaapi::kModuleVa_drm;
|
||||
-#if defined(USE_X11)
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
using media_gpu_vaapi::kModuleVa_x11;
|
||||
-#endif
|
||||
+#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
using media_gpu_vaapi::InitializeStubs;
|
||||
using media_gpu_vaapi::IsVaInitialized;
|
||||
-#if defined(USE_X11)
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
using media_gpu_vaapi::IsVa_x11Initialized;
|
||||
-#endif
|
||||
+#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
using media_gpu_vaapi::IsVa_drmInitialized;
|
||||
using media_gpu_vaapi::StubPathMap;
|
||||
|
||||
@@ -559,10 +559,20 @@ VADisplayState::VADisplayState()
|
||||
bool VADisplayState::Initialize() {
|
||||
base::AutoLock auto_lock(va_lock_);
|
||||
|
||||
+#if defined(USE_OZONE) && defined(OS_LINUX)
|
||||
+ // TODO(crbug.com/1116701): add vaapi support for other Ozone platforms on
|
||||
+ // Linux. See comment in OzonePlatform::PlatformProperties::supports_vaapi
|
||||
+ // for more details. This will also require revisiting everything that's
|
||||
+ // guarded by USE_VAAPI_X11. For example, if USE_VAAPI_X11 is true, but the
|
||||
+ // user chooses the Wayland backend for Ozone at runtime, then many things (if
|
||||
+ // not all) that we do for X11 won't apply.
|
||||
+ if (!ui::OzonePlatform::GetInstance()->GetPlatformProperties().supports_vaapi)
|
||||
+ return false;
|
||||
+#endif
|
||||
+
|
||||
bool libraries_initialized = IsVaInitialized() && IsVa_drmInitialized();
|
||||
-#if defined(USE_X11)
|
||||
- if (!features::IsUsingOzonePlatform())
|
||||
- libraries_initialized = libraries_initialized && IsVa_x11Initialized();
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+ libraries_initialized = libraries_initialized && IsVa_x11Initialized();
|
||||
#endif
|
||||
if (!libraries_initialized)
|
||||
return false;
|
||||
@@ -577,34 +587,25 @@ bool VADisplayState::Initialize() {
|
||||
return success;
|
||||
}
|
||||
|
||||
-#if defined(USE_X11)
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
|
||||
absl::optional<VADisplay> GetVADisplayStateX11(const base::ScopedFD& drm_fd) {
|
||||
- bool use_drm_as_fallback = false;
|
||||
switch (gl::GetGLImplementation()) {
|
||||
case gl::kGLImplementationEGLGLES2:
|
||||
return vaGetDisplayDRM(drm_fd.get());
|
||||
|
||||
case gl::kGLImplementationNone:
|
||||
- use_drm_as_fallback = true;
|
||||
- FALLTHROUGH;
|
||||
|
||||
case gl::kGLImplementationDesktopGL: {
|
||||
- if (!features::IsUsingOzonePlatform()) {
|
||||
- VADisplay display =
|
||||
- vaGetDisplay(x11::Connection::Get()->GetXlibDisplay());
|
||||
- if (vaDisplayIsValid(display))
|
||||
- return display;
|
||||
- return vaGetDisplayDRM(drm_fd.get());
|
||||
- }
|
||||
- break;
|
||||
+ VADisplay display =
|
||||
+ vaGetDisplay(x11::Connection::Get()->GetXlibDisplay());
|
||||
+ if (vaDisplayIsValid(display))
|
||||
+ return display;
|
||||
+ return vaGetDisplayDRM(drm_fd.get());
|
||||
}
|
||||
|
||||
- case gl::kGLImplementationEGLANGLE: {
|
||||
- if (!features::IsUsingOzonePlatform())
|
||||
- return vaGetDisplay(x11::Connection::Get()->GetXlibDisplay());
|
||||
- break;
|
||||
- }
|
||||
+ case gl::kGLImplementationEGLANGLE:
|
||||
+ return vaGetDisplay(x11::Connection::Get()->GetXlibDisplay());
|
||||
|
||||
default:
|
||||
LOG(WARNING) << "VAAPI video acceleration not available for "
|
||||
@@ -612,10 +613,6 @@ absl::optional<VADisplay> GetVADisplayStateX11(const base::ScopedFD& drm_fd) {
|
||||
gl::GetGLImplementationParts());
|
||||
return absl::nullopt;
|
||||
}
|
||||
-
|
||||
- if (use_drm_as_fallback)
|
||||
- return vaGetDisplayDRM(drm_fd.get());
|
||||
- return absl::nullopt;
|
||||
}
|
||||
|
||||
#else
|
||||
@@ -633,11 +630,11 @@ absl::optional<VADisplay> GetVADisplayState(const base::ScopedFD& drm_fd) {
|
||||
}
|
||||
}
|
||||
|
||||
-#endif // defined(USE_X11)
|
||||
+#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
|
||||
bool VADisplayState::InitializeVaDisplay_Locked() {
|
||||
absl::optional<VADisplay> display =
|
||||
-#if defined(USE_X11)
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
GetVADisplayStateX11(drm_fd_);
|
||||
#else
|
||||
GetVADisplayState(drm_fd_);
|
||||
@@ -702,10 +699,9 @@ bool VADisplayState::InitializeOnce() {
|
||||
if (!InitializeVaDisplay_Locked() || !InitializeVaDriver_Locked())
|
||||
return false;
|
||||
|
||||
-#if defined(USE_X11)
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
if (gl::GetGLImplementation() == gl::kGLImplementationEGLANGLE &&
|
||||
implementation_type_ == VAImplementation::kIntelIHD) {
|
||||
- DCHECK(!features::IsUsingOzonePlatform());
|
||||
constexpr char libva_driver_impl_env[] = "LIBVA_DRIVER_NAME";
|
||||
// TODO(crbug/1116703) The libva intel-media driver has a known segfault in
|
||||
// vaPutSurface, so until this is fixed, fall back to the i965 driver. There
|
||||
@@ -722,7 +718,7 @@ bool VADisplayState::InitializeOnce() {
|
||||
if (!InitializeVaDisplay_Locked() || !InitializeVaDriver_Locked())
|
||||
return false;
|
||||
}
|
||||
-#endif // USE_X11
|
||||
+#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -2452,11 +2448,10 @@ bool VaapiWrapper::MapAndCopyAndExecute(
|
||||
return Execute_Locked(va_surface_id, va_buffer_ids);
|
||||
}
|
||||
|
||||
-#if defined(USE_X11)
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
bool VaapiWrapper::PutSurfaceIntoPixmap(VASurfaceID va_surface_id,
|
||||
x11::Pixmap x_pixmap,
|
||||
gfx::Size dest_size) {
|
||||
- DCHECK(!features::IsUsingOzonePlatform());
|
||||
base::AutoLock auto_lock(*va_lock_);
|
||||
|
||||
VAStatus va_res = vaSyncSurface(va_display_, va_surface_id);
|
||||
@@ -2470,7 +2465,7 @@ bool VaapiWrapper::PutSurfaceIntoPixmap(VASurfaceID va_surface_id,
|
||||
VA_SUCCESS_OR_RETURN(va_res, VaapiFunctions::kVAPutSurface, false);
|
||||
return true;
|
||||
}
|
||||
-#endif // USE_X11
|
||||
+#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
|
||||
std::unique_ptr<ScopedVAImage> VaapiWrapper::CreateVaImage(
|
||||
VASurfaceID va_surface_id,
|
||||
@@ -2844,9 +2839,8 @@ void VaapiWrapper::PreSandboxInitialization() {
|
||||
|
||||
paths[kModuleVa].push_back(std::string("libva.so.") + va_suffix);
|
||||
paths[kModuleVa_drm].push_back(std::string("libva-drm.so.") + va_suffix);
|
||||
-#if defined(USE_X11)
|
||||
- if (!features::IsUsingOzonePlatform())
|
||||
- paths[kModuleVa_x11].push_back(std::string("libva-x11.so.") + va_suffix);
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+ paths[kModuleVa_x11].push_back(std::string("libva-x11.so.") + va_suffix);
|
||||
#endif
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
paths[kModuleVa_prot].push_back(std::string("libva.so.") + va_suffix);
|
||||
diff --git a/media/gpu/vaapi/vaapi_wrapper.h b/media/gpu/vaapi/vaapi_wrapper.h
|
||||
index 0e3da53624..88ffcd0799 100644
|
||||
--- a/media/gpu/vaapi/vaapi_wrapper.h
|
||||
+++ b/media/gpu/vaapi/vaapi_wrapper.h
|
||||
@@ -36,9 +36,9 @@
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
#include "ui/gfx/geometry/size.h"
|
||||
|
||||
-#if defined(USE_X11)
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
#include "ui/gfx/x/xproto.h" // nogncheck
|
||||
-#endif // USE_X11
|
||||
+#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
|
||||
namespace gfx {
|
||||
enum class BufferFormat;
|
||||
@@ -426,13 +426,13 @@ class MEDIA_GPU_EXPORT VaapiWrapper
|
||||
const std::vector<std::pair<VABufferID, VABufferDescriptor>>& va_buffers)
|
||||
WARN_UNUSED_RESULT;
|
||||
|
||||
-#if defined(USE_X11)
|
||||
+#if BUILDFLAG(USE_VAAPI_X11)
|
||||
// Put data from |va_surface_id| into |x_pixmap| of size
|
||||
// |dest_size|, converting/scaling to it.
|
||||
bool PutSurfaceIntoPixmap(VASurfaceID va_surface_id,
|
||||
x11::Pixmap x_pixmap,
|
||||
gfx::Size dest_size) WARN_UNUSED_RESULT;
|
||||
-#endif // USE_X11
|
||||
+#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
|
||||
// Creates a ScopedVAImage from a VASurface |va_surface_id| and map it into
|
||||
// memory with the given |format| and |size|. If |format| is not equal to the
|
||||
diff --git a/ui/ozone/platform/x11/ozone_platform_x11.cc b/ui/ozone/platform/x11/ozone_platform_x11.cc
|
||||
index 8889828e0f..963dc7a0cd 100644
|
||||
--- a/ui/ozone/platform/x11/ozone_platform_x11.cc
|
||||
+++ b/ui/ozone/platform/x11/ozone_platform_x11.cc
|
||||
@@ -208,6 +208,9 @@ class OzonePlatformX11 : public OzonePlatform,
|
||||
properties->supports_global_application_menus = true;
|
||||
properties->app_modal_dialogs_use_event_blocker = true;
|
||||
properties->fetch_buffer_formats_for_gmb_on_gpu = true;
|
||||
+#if defined(OS_LINUX)
|
||||
+ properties->supports_vaapi = true;
|
||||
+#endif
|
||||
|
||||
initialised = true;
|
||||
}
|
||||
diff --git a/ui/ozone/public/ozone_platform.h b/ui/ozone/public/ozone_platform.h
|
||||
index df95f07486..2d7f44bbfa 100644
|
||||
--- a/ui/ozone/public/ozone_platform.h
|
||||
+++ b/ui/ozone/public/ozone_platform.h
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "base/macros.h"
|
||||
#include "base/message_loop/message_pump_type.h"
|
||||
#include "base/single_thread_task_runner.h"
|
||||
+#include "build/build_config.h"
|
||||
#include "mojo/public/cpp/bindings/binder_map.h"
|
||||
#include "ui/gfx/buffer_types.h"
|
||||
#include "ui/gfx/native_widget_types.h"
|
||||
@@ -154,6 +155,15 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform {
|
||||
// Determines whether buffer formats should be fetched on GPU and passed
|
||||
// back via gpu extra info.
|
||||
bool fetch_buffer_formats_for_gmb_on_gpu = false;
|
||||
+
|
||||
+#if defined(OS_LINUX)
|
||||
+ // TODO(crbug.com/1116701): add vaapi support for other Ozone platforms on
|
||||
+ // Linux. At the moment, VA-API Linux implementation supports only X11
|
||||
+ // backend. This implementation must be refactored to support Ozone
|
||||
+ // properly. As a temporary solution, VA-API on Linux checks if vaapi is
|
||||
+ // supported (which implicitly means that it is Ozone/X11).
|
||||
+ bool supports_vaapi = false;
|
||||
+#endif
|
||||
};
|
||||
|
||||
// Groups platform properties that can only be known at run time.
|
||||
@@ -1,24 +0,0 @@
|
||||
From 714092f336bb14d2fcc27396ec323b3d843bb962 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Thu, 4 Mar 2021 15:05:46 +0000
|
||||
Subject: [PATCH] IWYU: include limits for std::numeric_limits
|
||||
|
||||
---
|
||||
third_party/ruy/src/ruy/block_map.cc | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/third_party/ruy/src/ruy/block_map.cc b/third_party/ruy/src/ruy/block_map.cc
|
||||
index 44e5039..a7a7559 100644
|
||||
--- a/third_party/ruy/src/ruy/block_map.cc
|
||||
+++ b/third_party/ruy/src/ruy/block_map.cc
|
||||
@@ -17,6 +17,7 @@ limitations under the License.
|
||||
|
||||
#include <algorithm>
|
||||
#include <cstdint>
|
||||
+#include <limits>
|
||||
|
||||
#ifdef RUY_MAKEBLOCKMAP_DEBUG
|
||||
#include <cstdio>
|
||||
--
|
||||
2.26.2
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
diff --git a/third_party/libyuv/source/row_neon64.cc b/third_party/libyuv/source/row_neon64.cc
|
||||
index 350c964..2aab413 100644
|
||||
--- a/third_party/libyuv/source/row_neon64.cc
|
||||
+++ b/third_party/libyuv/source/row_neon64.cc
|
||||
@@ -1835,7 +1835,7 @@ void ARGBToAB64Row_NEON(const uint8_t* src_argb,
|
||||
: "+r"(src_argb), // %0
|
||||
"+r"(dst_ab64), // %1
|
||||
"+r"(width) // %2
|
||||
- : "m"(kShuffleARGBToABGR) // %3
|
||||
+ : "Q"(kShuffleARGBToABGR) // %3
|
||||
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
|
||||
}
|
||||
|
||||
@@ -1859,7 +1859,7 @@ void AR64ToARGBRow_NEON(const uint16_t* src_ar64,
|
||||
: "+r"(src_ar64), // %0
|
||||
"+r"(dst_argb), // %1
|
||||
"+r"(width) // %2
|
||||
- : "m"(kShuffleAR64ToARGB) // %3
|
||||
+ : "Q"(kShuffleAR64ToARGB) // %3
|
||||
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
|
||||
}
|
||||
|
||||
@@ -1883,7 +1883,7 @@ void AB64ToARGBRow_NEON(const uint16_t* src_ab64,
|
||||
: "+r"(src_ab64), // %0
|
||||
"+r"(dst_argb), // %1
|
||||
"+r"(width) // %2
|
||||
- : "m"(kShuffleAB64ToARGB) // %3
|
||||
+ : "Q"(kShuffleAB64ToARGB) // %3
|
||||
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
|
||||
}
|
||||
|
||||
diff --git a/third_party/libyuv/source/scale_neon64.cc b/third_party/libyuv/source/scale_neon64.cc
|
||||
index 8656fec..9f9636e 100644
|
||||
--- a/third_party/libyuv/source/scale_neon64.cc
|
||||
+++ b/third_party/libyuv/source/scale_neon64.cc
|
||||
@@ -601,8 +601,8 @@ void ScaleRowUp2_Bilinear_NEON(const uint8_t* src_ptr,
|
||||
"umlal v4.8h, v1.8b, v31.8b \n" // 3*near+far (2, odd)
|
||||
"umlal v5.8h, v0.8b, v31.8b \n" // 3*near+far (2, even)
|
||||
|
||||
- "mov v0.8h, v4.8h \n"
|
||||
- "mov v1.8h, v5.8h \n"
|
||||
+ "mov v0.16b, v4.16b \n"
|
||||
+ "mov v1.16b, v5.16b \n"
|
||||
"mla v4.8h, v2.8h, v30.8h \n" // 9 3 3 1 (1, odd)
|
||||
"mla v5.8h, v3.8h, v30.8h \n" // 9 3 3 1 (1, even)
|
||||
"mla v2.8h, v0.8h, v30.8h \n" // 9 3 3 1 (2, odd)
|
||||
@@ -642,7 +642,7 @@ void ScaleRowUp2_Linear_12_NEON(const uint16_t* src_ptr,
|
||||
"ld1 {v1.8h}, [%1], #16 \n" // 12345678 (16b)
|
||||
"prfm pldl1keep, [%0, 448] \n" // prefetch 7 lines ahead
|
||||
|
||||
- "mov v2.8h, v0.8h \n"
|
||||
+ "mov v2.16b, v0.16b \n"
|
||||
"mla v0.8h, v1.8h, v31.8h \n" // 3*near+far (odd)
|
||||
"mla v1.8h, v2.8h, v31.8h \n" // 3*near+far (even)
|
||||
|
||||
@@ -679,7 +679,7 @@ void ScaleRowUp2_Bilinear_12_NEON(const uint16_t* src_ptr,
|
||||
"ld1 {v3.8h}, [%2], #16 \n" // 12345678 (16b)
|
||||
"prfm pldl1keep, [%0, 448] \n" // prefetch 7 lines ahead
|
||||
|
||||
- "mov v0.8h, v2.8h \n"
|
||||
+ "mov v0.16b, v2.16b \n"
|
||||
"mla v2.8h, v3.8h, v31.8h \n" // 3*near+far (odd)
|
||||
"mla v3.8h, v0.8h, v31.8h \n" // 3*near+far (even)
|
||||
|
||||
@@ -687,12 +687,12 @@ void ScaleRowUp2_Bilinear_12_NEON(const uint16_t* src_ptr,
|
||||
"ld1 {v5.8h}, [%3], #16 \n" // 12345678 (16b)
|
||||
"prfm pldl1keep, [%1, 448] \n" // prefetch 7 lines ahead
|
||||
|
||||
- "mov v0.8h, v4.8h \n"
|
||||
+ "mov v0.16b, v4.16b \n"
|
||||
"mla v4.8h, v5.8h, v31.8h \n" // 3*near+far (odd)
|
||||
"mla v5.8h, v0.8h, v31.8h \n" // 3*near+far (even)
|
||||
|
||||
- "mov v0.8h, v4.8h \n"
|
||||
- "mov v1.8h, v5.8h \n"
|
||||
+ "mov v0.16b, v4.16b \n"
|
||||
+ "mov v1.16b, v5.16b \n"
|
||||
"mla v4.8h, v2.8h, v31.8h \n" // 9 3 3 1 (1, odd)
|
||||
"mla v5.8h, v3.8h, v31.8h \n" // 9 3 3 1 (1, even)
|
||||
"mla v2.8h, v0.8h, v31.8h \n" // 9 3 3 1 (2, odd)
|
||||
@@ -887,8 +887,8 @@ void ScaleUVRowUp2_Bilinear_NEON(const uint8_t* src_ptr,
|
||||
"umlal v4.8h, v1.8b, v31.8b \n" // 3*near+far (2, odd)
|
||||
"umlal v5.8h, v0.8b, v31.8b \n" // 3*near+far (2, even)
|
||||
|
||||
- "mov v0.8h, v4.8h \n"
|
||||
- "mov v1.8h, v5.8h \n"
|
||||
+ "mov v0.16b, v4.16b \n"
|
||||
+ "mov v1.16b, v5.16b \n"
|
||||
"mla v4.8h, v2.8h, v30.8h \n" // 9 3 3 1 (1, odd)
|
||||
"mla v5.8h, v3.8h, v30.8h \n" // 9 3 3 1 (1, even)
|
||||
"mla v2.8h, v0.8h, v30.8h \n" // 9 3 3 1 (2, odd)
|
||||
@@ -1,17 +0,0 @@
|
||||
GCC: make VRegister::from_code() constexpr on aarch64
|
||||
|
||||
LiftoffRegister::gp() and LiftoffRegister::fp() are constexpr.
|
||||
Therefore, VRegister::from_code() needs to be constexpr as well.
|
||||
diff --git a/v8/src/codegen/arm64/register-arm64.h b/v8/src/codegen/arm64/register-arm64.h
|
||||
index 1150daf..21007a5 100644
|
||||
--- a/v8/src/codegen/arm64/register-arm64.h
|
||||
+++ b/v8/src/codegen/arm64/register-arm64.h
|
||||
@@ -413,7 +413,7 @@ class VRegister : public CPURegister {
|
||||
static constexpr int kMaxNumRegisters = kNumberOfVRegisters;
|
||||
STATIC_ASSERT(kMaxNumRegisters == kDoubleAfterLast);
|
||||
|
||||
- static VRegister from_code(int code) {
|
||||
+ static constexpr VRegister from_code(int code) {
|
||||
// Always return a D register.
|
||||
return VRegister::Create(code, kDRegSizeInBits);
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
From c23f09d436b566934d02c26a19e3cf5d31545855 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Sat, 4 Sep 2021 17:02:00 +0000
|
||||
Subject: [PATCH] GCC: fix template specialization in webrtc::BitstreamReader
|
||||
|
||||
GCC complains that explicit specialization in non-namespace scope
|
||||
is happening for webrtc::BitstreamReader::Read(). However, specialization
|
||||
for bool isn't used because std::is_unsigned<bool>::value returns true.
|
||||
Add std::is_same for bool check and enable second specialization only
|
||||
for bool types.
|
||||
|
||||
---
|
||||
third_party/webrtc/rtc_base/bitstream_reader.h | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/third_party/webrtc/rtc_base/bitstream_reader.h b/third_party/webrtc/rtc_base/bitstream_reader.h
|
||||
index 8c0f66f..cd8537f 100644
|
||||
--- a/third_party/webrtc/rtc_base/bitstream_reader.h
|
||||
+++ b/third_party/webrtc/rtc_base/bitstream_reader.h
|
||||
@@ -61,14 +61,16 @@ class BitstreamReader {
|
||||
// Reads unsigned integer of fixed width.
|
||||
template <typename T,
|
||||
typename std::enable_if<std::is_unsigned<T>::value &&
|
||||
+ !std::is_same<T, bool>::value &&
|
||||
sizeof(T) <= 8>::type* = nullptr>
|
||||
ABSL_MUST_USE_RESULT T Read() {
|
||||
return rtc::dchecked_cast<T>(ReadBits(sizeof(T) * 8));
|
||||
}
|
||||
|
||||
// Reads single bit as boolean.
|
||||
- template <>
|
||||
- ABSL_MUST_USE_RESULT bool Read<bool>() {
|
||||
+ template <typename T,
|
||||
+ typename std::enable_if<std::is_same<T, bool>::value>::type* = nullptr>
|
||||
+ ABSL_MUST_USE_RESULT bool Read() {
|
||||
return ReadBit() != 0;
|
||||
}
|
||||
|
||||
--
|
||||
2.32.0
|
||||
|
||||
+73
-19
@@ -1,17 +1,17 @@
|
||||
From f4d0b0eb899005b4b8b6388e1d8bb82cc0018fc8 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gilbert <floppym@gentoo.org>
|
||||
Date: Wed, 7 Apr 2021 08:50:04 +0000
|
||||
Date: Sat, 4 Sep 2021 15:13:20 +0000
|
||||
Subject: [PATCH] Disable various compiler configs
|
||||
|
||||
---
|
||||
build/config/compiler/BUILD.gn | 59 ++++++++++------------------------
|
||||
1 file changed, 17 insertions(+), 42 deletions(-)
|
||||
build/config/compiler/BUILD.gn | 105 ++++++---------------------------
|
||||
1 file changed, 17 insertions(+), 88 deletions(-)
|
||||
|
||||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
index 72ea590..539672d 100644
|
||||
index 219a2be..7565c83 100644
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -273,8 +273,6 @@ config("compiler") {
|
||||
@@ -292,8 +292,6 @@ config("compiler") {
|
||||
|
||||
configs += [
|
||||
# See the definitions below.
|
||||
@@ -20,7 +20,7 @@ index 72ea590..539672d 100644
|
||||
":compiler_codegen",
|
||||
":compiler_deterministic",
|
||||
]
|
||||
@@ -518,24 +516,6 @@ config("compiler") {
|
||||
@@ -531,31 +529,6 @@ config("compiler") {
|
||||
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
|
||||
}
|
||||
|
||||
@@ -40,12 +40,65 @@ index 72ea590..539672d 100644
|
||||
- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ]
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- # TODO(crbug.com/1235145): Investigate why/if this should be needed.
|
||||
- if (is_win) {
|
||||
- cflags += [ "/clang:-ffp-contract=off" ]
|
||||
- } else {
|
||||
- cflags += [ "-ffp-contract=off" ]
|
||||
- }
|
||||
- }
|
||||
-
|
||||
# C11/C++11 compiler flags setup.
|
||||
# ---------------------------
|
||||
if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) ||
|
||||
@@ -1643,7 +1623,7 @@ config("chromium_code") {
|
||||
@@ -1246,45 +1219,6 @@ config("compiler_deterministic") {
|
||||
}
|
||||
}
|
||||
|
||||
- # Makes builds independent of absolute file path.
|
||||
- if (is_clang && strip_absolute_paths_from_debug_symbols) {
|
||||
- # If debug option is given, clang includes $cwd in debug info by default.
|
||||
- # For such build, this flag generates reproducible obj files even we use
|
||||
- # different build directory like "out/feature_a" and "out/feature_b" if
|
||||
- # we build same files with same compile flag.
|
||||
- # Other paths are already given in relative, no need to normalize them.
|
||||
- if (is_nacl) {
|
||||
- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
|
||||
- cflags += [
|
||||
- "-Xclang",
|
||||
- "-fdebug-compilation-dir",
|
||||
- "-Xclang",
|
||||
- ".",
|
||||
- ]
|
||||
- } else {
|
||||
- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
|
||||
- # and -fcoverage-compilation-dir=.
|
||||
- cflags += [ "-ffile-compilation-dir=." ]
|
||||
- }
|
||||
- if (!is_win) {
|
||||
- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
|
||||
- asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
|
||||
- }
|
||||
-
|
||||
- if (is_win && use_lld) {
|
||||
- if (symbol_level == 2 || (is_clang && using_sanitizer)) {
|
||||
- # Absolutize source file paths for PDB. Pass the real build directory
|
||||
- # if the pdb contains source-level debug information and if linker
|
||||
- # reproducibility is not critical.
|
||||
- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ]
|
||||
- } else {
|
||||
- # Use a fake fixed base directory for paths in the pdb to make the pdb
|
||||
- # output fully deterministic and independent of the build directory.
|
||||
- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ]
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-
|
||||
# Tells the compiler not to use absolute paths when passing the default
|
||||
# paths to the tools it invokes. We don't want this because we don't
|
||||
# really need it and it can mess up the goma cache entries.
|
||||
@@ -1704,7 +1638,7 @@ config("chromium_code") {
|
||||
defines = [ "_HAS_NODISCARD" ]
|
||||
}
|
||||
} else {
|
||||
@@ -54,7 +107,7 @@ index 72ea590..539672d 100644
|
||||
if (treat_warnings_as_errors) {
|
||||
cflags += [ "-Werror" ]
|
||||
|
||||
@@ -1652,10 +1632,6 @@ config("chromium_code") {
|
||||
@@ -1713,10 +1647,6 @@ config("chromium_code") {
|
||||
# well.
|
||||
ldflags = [ "-Werror" ]
|
||||
}
|
||||
@@ -65,7 +118,7 @@ index 72ea590..539672d 100644
|
||||
|
||||
# In Chromium code, we define __STDC_foo_MACROS in order to get the
|
||||
# C99 macros on Mac and Linux.
|
||||
@@ -1664,15 +1640,6 @@ config("chromium_code") {
|
||||
@@ -1725,15 +1655,6 @@ config("chromium_code") {
|
||||
"__STDC_FORMAT_MACROS",
|
||||
]
|
||||
|
||||
@@ -81,7 +134,7 @@ index 72ea590..539672d 100644
|
||||
if (is_mac) {
|
||||
cflags_objc = [ "-Wobjc-missing-property-synthesis" ]
|
||||
cflags_objcc = [ "-Wobjc-missing-property-synthesis" ]
|
||||
@@ -2068,7 +2035,8 @@ config("default_stack_frames") {
|
||||
@@ -2101,7 +2022,8 @@ config("default_stack_frames") {
|
||||
}
|
||||
|
||||
# Default "optimization on" config.
|
||||
@@ -91,7 +144,7 @@ index 72ea590..539672d 100644
|
||||
if (is_win) {
|
||||
if (chrome_pgo_phase != 2) {
|
||||
# Favor size over speed, /O1 must be before the common flags.
|
||||
@@ -2103,7 +2071,8 @@ config("optimize") {
|
||||
@@ -2141,7 +2063,8 @@ config("optimize") {
|
||||
}
|
||||
|
||||
# Turn off optimizations.
|
||||
@@ -101,7 +154,7 @@ index 72ea590..539672d 100644
|
||||
if (is_win) {
|
||||
cflags = [
|
||||
"/Od", # Disable optimization.
|
||||
@@ -2143,7 +2112,8 @@ config("no_optimize") {
|
||||
@@ -2181,7 +2104,8 @@ config("no_optimize") {
|
||||
# Turns up the optimization level. On Windows, this implies whole program
|
||||
# optimization and link-time code generation which is very expensive and should
|
||||
# be used sparingly.
|
||||
@@ -111,7 +164,7 @@ index 72ea590..539672d 100644
|
||||
if (is_nacl && is_nacl_irt) {
|
||||
# The NaCl IRT is a special case and always wants its own config.
|
||||
# Various components do:
|
||||
@@ -2175,7 +2145,8 @@ config("optimize_max") {
|
||||
@@ -2214,7 +2138,8 @@ config("optimize_max") {
|
||||
#
|
||||
# TODO(crbug.com/621335) - rework how all of these configs are related
|
||||
# so that we don't need this disclaimer.
|
||||
@@ -121,7 +174,7 @@ index 72ea590..539672d 100644
|
||||
if (is_nacl && is_nacl_irt) {
|
||||
# The NaCl IRT is a special case and always wants its own config.
|
||||
# Various components do:
|
||||
@@ -2200,7 +2171,8 @@ config("optimize_speed") {
|
||||
@@ -2240,7 +2165,8 @@ config("optimize_speed") {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,9 +182,9 @@ index 72ea590..539672d 100644
|
||||
+config("optimize_fuzzing") { }
|
||||
+config("xoptimize_fuzzing") {
|
||||
cflags = [ "-O1" ] + common_optimize_on_cflags
|
||||
rustflags = [ "-Copt-level=1" ]
|
||||
ldflags = common_optimize_on_ldflags
|
||||
visibility = [ ":default_optimization" ]
|
||||
@@ -2319,7 +2291,8 @@ config("win_pdbaltpath") {
|
||||
@@ -2360,7 +2286,8 @@ config("win_pdbaltpath") {
|
||||
}
|
||||
|
||||
# Full symbols.
|
||||
@@ -141,7 +194,7 @@ index 72ea590..539672d 100644
|
||||
if (is_win) {
|
||||
if (is_clang) {
|
||||
cflags = [ "/Z7" ] # Debug information in the .obj files.
|
||||
@@ -2422,7 +2395,8 @@ config("symbols") {
|
||||
@@ -2474,7 +2401,8 @@ config("symbols") {
|
||||
# Minimal symbols.
|
||||
# This config guarantees to hold symbol for stack trace which are shown to user
|
||||
# when crash happens in unittests running on buildbot.
|
||||
@@ -151,7 +204,7 @@ index 72ea590..539672d 100644
|
||||
if (is_win) {
|
||||
# Functions, files, and line tables only.
|
||||
cflags = []
|
||||
@@ -2481,7 +2455,8 @@ config("minimal_symbols") {
|
||||
@@ -2546,7 +2474,8 @@ config("minimal_symbols") {
|
||||
# This configuration contains function names only. That is, the compiler is
|
||||
# told to not generate debug information and the linker then just puts function
|
||||
# names in the final debug information.
|
||||
@@ -162,4 +215,5 @@ index 72ea590..539672d 100644
|
||||
ldflags = [ "/DEBUG" ]
|
||||
|
||||
--
|
||||
2.26.3
|
||||
2.32.0
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
diff --git a/third_party/libyuv/source/row_neon64.cc b/third_party/libyuv/source/row_neon64.cc
|
||||
index 350c964..2aab413 100644
|
||||
--- a/third_party/libyuv/source/row_neon64.cc
|
||||
+++ b/third_party/libyuv/source/row_neon64.cc
|
||||
@@ -1835,7 +1835,7 @@ void ARGBToAB64Row_NEON(const uint8_t* src_argb,
|
||||
: "+r"(src_argb), // %0
|
||||
"+r"(dst_ab64), // %1
|
||||
"+r"(width) // %2
|
||||
- : "m"(kShuffleARGBToABGR) // %3
|
||||
+ : "Q"(kShuffleARGBToABGR) // %3
|
||||
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
|
||||
}
|
||||
|
||||
@@ -1859,7 +1859,7 @@ void AR64ToARGBRow_NEON(const uint16_t* src_ar64,
|
||||
: "+r"(src_ar64), // %0
|
||||
"+r"(dst_argb), // %1
|
||||
"+r"(width) // %2
|
||||
- : "m"(kShuffleAR64ToARGB) // %3
|
||||
+ : "Q"(kShuffleAR64ToARGB) // %3
|
||||
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
|
||||
}
|
||||
|
||||
@@ -1883,7 +1883,7 @@ void AB64ToARGBRow_NEON(const uint16_t* src_ab64,
|
||||
: "+r"(src_ab64), // %0
|
||||
"+r"(dst_argb), // %1
|
||||
"+r"(width) // %2
|
||||
- : "m"(kShuffleAB64ToARGB) // %3
|
||||
+ : "Q"(kShuffleAB64ToARGB) // %3
|
||||
: "cc", "memory", "v0", "v1", "v2", "v3", "v4");
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
From a9d986203bcfbaab84f270c1dc6c3abb4c450ee1 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Fri, 17 Sep 2021 14:57:33 +0000
|
||||
Subject: [PATCH] IWYU: add stddef.h for size_t in WindowManager
|
||||
|
||||
---
|
||||
net/third_party/quiche/src/http2/adapter/window_manager.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/net/third_party/quiche/src/http2/adapter/window_manager.h b/net/third_party/quiche/src/http2/adapter/window_manager.h
|
||||
index f15982d..5a7701e 100644
|
||||
--- a/net/third_party/quiche/src/http2/adapter/window_manager.h
|
||||
+++ b/net/third_party/quiche/src/http2/adapter/window_manager.h
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef QUICHE_HTTP2_ADAPTER_WINDOW_MANAGER_H_
|
||||
#define QUICHE_HTTP2_ADAPTER_WINDOW_MANAGER_H_
|
||||
|
||||
+#include <stddef.h>
|
||||
+
|
||||
#include <functional>
|
||||
|
||||
#include "common/platform/api/quiche_export.h"
|
||||
--
|
||||
2.32.0
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
diff --git a/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn b/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn
|
||||
index 1421911..cf86974 100644
|
||||
--- a/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn
|
||||
+++ b/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn
|
||||
@@ -42,7 +42,7 @@ config("swiftshader_libEGL_private_config") {
|
||||
} else if (is_clang) {
|
||||
defines += [ "EGLAPI=__attribute__((visibility(\"protected\"))) __attribute__((no_sanitize(\"function\")))" ]
|
||||
} else {
|
||||
- defines += [ "EGLAPI= " ]
|
||||
+ defines += [ "EGLAPI=__attribute__((visibility(\"protected\")))" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
diff --git a/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn b/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn
|
||||
index f71dc68..fc3ba3a 100644
|
||||
--- a/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn
|
||||
+++ b/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn
|
||||
@@ -57,7 +57,7 @@ config("swiftshader_libGLESv2_private_config") {
|
||||
} else if (is_clang) {
|
||||
defines += [ "GL_APICALL=__attribute__((visibility(\"protected\"))) __attribute__((no_sanitize(\"function\")))" ]
|
||||
} else {
|
||||
- defines += [ "GL_APICALL= " ]
|
||||
+ defines += [ "GL_APICALL=__attribute__((visibility(\"protected\")))" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
From 408e4da26f1b782005ab10307c83892055d7ef45 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Mader <robert.mader@posteo.de>
|
||||
Date: Mon, 20 Sep 2021 15:15:31 +0200
|
||||
Subject: [PATCH] Pipewire: Do not typecheck the portal session_handle
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Desktop sharing via Pipewire will break for clients updating to
|
||||
xdg-desktop-portal 1.10 due to a bug fix in the API implementation[1].
|
||||
|
||||
This ports over a fix from OBS Studio[2] that also is used in the
|
||||
downstream Firefox WebRTC copy[3].
|
||||
|
||||
1: https://github.com/flatpak/xdg-desktop-portal/pull/609
|
||||
2: https://github.com/obsproject/obs-studio/pull/5294
|
||||
3: https://phabricator.services.mozilla.com/D126053
|
||||
Bug: webrtc:13192
|
||||
Change-Id: I497dd1bb53cc39dee3732c2e0014e2e36a7afb6c
|
||||
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232329
|
||||
Reviewed-by: Erik Språng <sprang@webrtc.org>
|
||||
Reviewed-by: Tommi <tommi@webrtc.org>
|
||||
Commit-Queue: Tommi <tommi@webrtc.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#35153}
|
||||
---
|
||||
modules/desktop_capture/linux/base_capturer_pipewire.cc | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/modules/desktop_capture/linux/base_capturer_pipewire.cc b/modules/desktop_capture/linux/base_capturer_pipewire.cc
|
||||
index 2d5e973..45229b2 100644
|
||||
--- a/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
|
||||
+++ b/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
|
||||
@@ -801,8 +801,9 @@ void BaseCapturerPipeWire::OnSessionRequestResponseSignal(
|
||||
Scoped<GVariant> response_data;
|
||||
g_variant_get(parameters, "(u@a{sv})", &portal_response,
|
||||
response_data.receive());
|
||||
- g_variant_lookup(response_data.get(), "session_handle", "s",
|
||||
- &that->session_handle_);
|
||||
+ Scoped<GVariant> session_handle(
|
||||
+ g_variant_lookup_value(response_data.get(), "session_handle", nullptr));
|
||||
+ that->session_handle_ = g_variant_dup_string(session_handle.get(), nullptr);
|
||||
|
||||
if (!that->session_handle_ || portal_response) {
|
||||
RTC_LOG(LS_ERROR)
|
||||
@@ -0,0 +1,196 @@
|
||||
From 9d080c0934b848ee4a05013c78641e612fcc1e03 Mon Sep 17 00:00:00 2001
|
||||
From: Dylan Cutler <dylancutler@google.com>
|
||||
Date: Wed, 26 May 2021 16:39:52 +0000
|
||||
Subject: [PATCH] Reland "Replace 'blacklist' with 'ignorelist' in
|
||||
./tools/msan/."
|
||||
|
||||
This is a reland of 3b6263f2eece1264b052dfdcbc03b851d5abfb48
|
||||
|
||||
Relanding now that https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/2897974 is merged
|
||||
|
||||
Original change's description:
|
||||
> Replace 'blacklist' with 'ignorelist' in ./tools/msan/.
|
||||
>
|
||||
> Bug: 1097272, 1097268
|
||||
> Change-Id: Id5c8227a5bfb1ffaec82d3168b609085b10c8297
|
||||
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2867730
|
||||
> Commit-Queue: Dylan Cutler <dylancutler@google.com>
|
||||
> Reviewed-by: Nico Weber <thakis@chromium.org>
|
||||
> Reviewed-by: Jonathan Metzman <metzman@chromium.org>
|
||||
> Cr-Commit-Position: refs/heads/master@{#883035}
|
||||
|
||||
Bug: 1097272
|
||||
Bug: 1097268
|
||||
Change-Id: I11a5bc8972680c95fb1dab95ed3b707ed76f4667
|
||||
Cq-Include-Trybots: luci.chromium.try:chromeos-amd64-generic-cfi-thin-lto-rel
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2911096
|
||||
Commit-Queue: Dylan Cutler <dylancutler@google.com>
|
||||
Reviewed-by: Nico Weber <thakis@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/master@{#886773}
|
||||
---
|
||||
build/config/sanitizers/BUILD.gn | 44 ++++++++++----------
|
||||
build_overrides/build.gni | 14 +++----
|
||||
tools/msan/{blacklist.txt => ignorelist.txt} | 0
|
||||
3 files changed, 29 insertions(+), 29 deletions(-)
|
||||
rename tools/msan/{blacklist.txt => ignorelist.txt} (100%)
|
||||
|
||||
diff --git a/build/config/sanitizers/BUILD.gn b/build/config/sanitizers/BUILD.gn
|
||||
index aaaad023474d..55b388a43743 100644
|
||||
--- a/build/config/sanitizers/BUILD.gn
|
||||
+++ b/build/config/sanitizers/BUILD.gn
|
||||
@@ -272,11 +272,11 @@ config("asan_flags") {
|
||||
if (is_asan) {
|
||||
cflags += [ "-fsanitize=address" ]
|
||||
if (is_win) {
|
||||
- if (!defined(asan_win_blacklist_path)) {
|
||||
- asan_win_blacklist_path =
|
||||
+ if (!defined(asan_win_blocklist_path)) {
|
||||
+ asan_win_blocklist_path =
|
||||
rebase_path("//tools/memory/asan/blocklist_win.txt", root_build_dir)
|
||||
}
|
||||
- cflags += [ "-fsanitize-blacklist=$asan_win_blacklist_path" ]
|
||||
+ cflags += [ "-fsanitize-ignorelist=$asan_win_blocklist_path" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -306,13 +306,13 @@ config("link_shared_library") {
|
||||
config("cfi_flags") {
|
||||
cflags = []
|
||||
if (is_cfi && current_toolchain == default_toolchain) {
|
||||
- if (!defined(cfi_blacklist_path)) {
|
||||
- cfi_blacklist_path =
|
||||
+ if (!defined(cfi_ignorelist_path)) {
|
||||
+ cfi_ignorelist_path =
|
||||
rebase_path("//tools/cfi/ignores.txt", root_build_dir)
|
||||
}
|
||||
cflags += [
|
||||
"-fsanitize=cfi-vcall",
|
||||
- "-fsanitize-blacklist=$cfi_blacklist_path",
|
||||
+ "-fsanitize-ignorelist=$cfi_ignorelist_path",
|
||||
]
|
||||
|
||||
if (use_cfi_cast) {
|
||||
@@ -409,14 +409,14 @@ config("msan_flags") {
|
||||
if (is_msan) {
|
||||
assert(is_linux || is_chromeos,
|
||||
"msan only supported on linux x86_64/ChromeOS")
|
||||
- if (!defined(msan_blacklist_path)) {
|
||||
- msan_blacklist_path =
|
||||
- rebase_path("//tools/msan/blacklist.txt", root_build_dir)
|
||||
+ if (!defined(msan_ignorelist_path)) {
|
||||
+ msan_ignorelist_path =
|
||||
+ rebase_path("//tools/msan/ignorelist.txt", root_build_dir)
|
||||
}
|
||||
cflags = [
|
||||
"-fsanitize=memory",
|
||||
"-fsanitize-memory-track-origins=$msan_track_origins",
|
||||
- "-fsanitize-blacklist=$msan_blacklist_path",
|
||||
+ "-fsanitize-ignorelist=$msan_ignorelist_path",
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -424,13 +424,13 @@ config("msan_flags") {
|
||||
config("tsan_flags") {
|
||||
if (is_tsan) {
|
||||
assert(is_linux || is_chromeos, "tsan only supported on linux x86_64")
|
||||
- if (!defined(tsan_blacklist_path)) {
|
||||
- tsan_blacklist_path =
|
||||
+ if (!defined(tsan_ignorelist_path)) {
|
||||
+ tsan_ignorelist_path =
|
||||
rebase_path("//tools/memory/tsan_v2/ignores.txt", root_build_dir)
|
||||
}
|
||||
cflags = [
|
||||
"-fsanitize=thread",
|
||||
- "-fsanitize-blacklist=$tsan_blacklist_path",
|
||||
+ "-fsanitize-ignorelist=$tsan_ignorelist_path",
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -438,8 +438,8 @@ config("tsan_flags") {
|
||||
config("ubsan_flags") {
|
||||
cflags = []
|
||||
if (is_ubsan) {
|
||||
- if (!defined(ubsan_blacklist_path)) {
|
||||
- ubsan_blacklist_path =
|
||||
+ if (!defined(ubsan_ignorelist_path)) {
|
||||
+ ubsan_ignorelist_path =
|
||||
rebase_path("//tools/ubsan/ignorelist.txt", root_build_dir)
|
||||
}
|
||||
cflags += [
|
||||
@@ -456,7 +456,7 @@ config("ubsan_flags") {
|
||||
"-fsanitize=signed-integer-overflow",
|
||||
"-fsanitize=unreachable",
|
||||
"-fsanitize=vla-bound",
|
||||
- "-fsanitize-blacklist=$ubsan_blacklist_path",
|
||||
+ "-fsanitize-ignorelist=$ubsan_ignorelist_path",
|
||||
]
|
||||
|
||||
# Chromecast ubsan builds fail to compile with these
|
||||
@@ -486,8 +486,8 @@ config("ubsan_no_recover") {
|
||||
|
||||
config("ubsan_security_flags") {
|
||||
if (is_ubsan_security) {
|
||||
- if (!defined(ubsan_security_blacklist_path)) {
|
||||
- ubsan_security_blacklist_path =
|
||||
+ if (!defined(ubsan_security_ignorelist_path)) {
|
||||
+ ubsan_security_ignorelist_path =
|
||||
rebase_path("//tools/ubsan/security_ignorelist.txt", root_build_dir)
|
||||
}
|
||||
cflags = [
|
||||
@@ -495,7 +495,7 @@ config("ubsan_security_flags") {
|
||||
"-fsanitize=shift",
|
||||
"-fsanitize=signed-integer-overflow",
|
||||
"-fsanitize=vla-bound",
|
||||
- "-fsanitize-blacklist=$ubsan_security_blacklist_path",
|
||||
+ "-fsanitize-ignorelist=$ubsan_security_ignorelist_path",
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -508,13 +508,13 @@ config("ubsan_null_flags") {
|
||||
|
||||
config("ubsan_vptr_flags") {
|
||||
if (is_ubsan_vptr) {
|
||||
- if (!defined(ubsan_vptr_blacklist_path)) {
|
||||
- ubsan_vptr_blacklist_path =
|
||||
+ if (!defined(ubsan_vptr_ignorelist_path)) {
|
||||
+ ubsan_vptr_ignorelist_path =
|
||||
rebase_path("//tools/ubsan/vptr_ignorelist.txt", root_build_dir)
|
||||
}
|
||||
cflags = [
|
||||
"-fsanitize=vptr",
|
||||
- "-fsanitize-blacklist=$ubsan_vptr_blacklist_path",
|
||||
+ "-fsanitize-ignorelist=$ubsan_vptr_ignorelist_path",
|
||||
]
|
||||
}
|
||||
}
|
||||
diff --git a/build_overrides/build.gni b/build_overrides/build.gni
|
||||
index 82627b03653f..f3e563ab701b 100644
|
||||
--- a/build_overrides/build.gni
|
||||
+++ b/build_overrides/build.gni
|
||||
@@ -42,15 +42,15 @@ declare_args() {
|
||||
# Allows different projects to specify their own suppression/ignore lists for
|
||||
# sanitizer tools.
|
||||
# asan_suppressions_file = "path/to/asan_suppressions.cc"
|
||||
-# asan_win_blacklist_path = "path/to/asan/blocklist_win.txt"
|
||||
+# asan_win_ignorelist_path = "path/to/asan/blocklist_win.txt"
|
||||
# lsan_suppressions_file = "path/to/lsan_suppressions.cc"
|
||||
# tsan_suppressions_file = "path/to/tsan_suppressions.cc"
|
||||
-# tsan_blacklist_path = "path/to/tsan/ignores.txt"
|
||||
-# msan_blacklist_path = "path/to/msan/blacklist.txt"
|
||||
-# ubsan_blacklist_path = "path/to/ubsan/blacklist.txt"
|
||||
-# ubsan_vptr_blacklist_path = "path/to/ubsan/vptr_blacklist.txt"
|
||||
-# ubsan_security_blacklist_path = "path/to/ubsan/security_blacklist.txt"
|
||||
-# cfi_blacklist_path = "path/to/cfi/ignores.txt"
|
||||
+# tsan_ignorelist_path = "path/to/tsan/ignores.txt"
|
||||
+# msan_ignorelist_path = "path/to/msan/ignorelist.txt"
|
||||
+# ubsan_ignorelist_path = "path/to/ubsan/ignorelist.txt"
|
||||
+# ubsan_vptr_ignorelist_path = "path/to/ubsan/vptr_ignorelist.txt"
|
||||
+# ubsan_security_ignorelist_path = "path/to/ubsan/security_ignorelist.txt"
|
||||
+# cfi_ignorelist_path = "path/to/cfi/ignores.txt"
|
||||
|
||||
declare_args() {
|
||||
# Android 32-bit non-component, non-clang builds cannot have symbol_level=2
|
||||
diff --git a/tools/msan/blacklist.txt b/tools/msan/ignorelist.txt
|
||||
similarity index 100%
|
||||
rename from tools/msan/blacklist.txt
|
||||
rename to tools/msan/ignorelist.txt
|
||||
@@ -0,0 +1,11 @@
|
||||
--- chrome/browser/flag-metadata.json.orig 2021-09-21 18:34:38.740426608 +0000
|
||||
+++ chrome/browser/flag-metadata.json 2021-09-21 18:35:09.392000797 +0000
|
||||
@@ -1285,7 +1285,7 @@
|
||||
{
|
||||
"name": "enable-accelerated-video-decode",
|
||||
"owners": [ "media-dev@chromium.org" ],
|
||||
- "expiry_milestone": 93
|
||||
+ "expiry_milestone": 99
|
||||
},
|
||||
{
|
||||
"name": "enable-accessibility-live-caption",
|
||||
@@ -0,0 +1,65 @@
|
||||
From 34a955823630096f5b01c2b01d51c1ea59d22763 Mon Sep 17 00:00:00 2001
|
||||
From: Zequan Wu <zequanwu@google.com>
|
||||
Date: Tue, 20 Jul 2021 14:13:50 +0000
|
||||
Subject: [PATCH] Use -ffile-compilation-dir= instead of
|
||||
-fdebug-compilation-dir=
|
||||
|
||||
Bug: 1010267
|
||||
Change-Id: If2b4ead8535a76490eb466a38e3d8fed6ea91079
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2770738
|
||||
Auto-Submit: Zequan Wu <zequanwu@google.com>
|
||||
Commit-Queue: Nico Weber <thakis@chromium.org>
|
||||
Reviewed-by: Nico Weber <thakis@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/master@{#903456}
|
||||
---
|
||||
build/config/compiler/BUILD.gn | 18 ++++++++++++------
|
||||
build/config/compiler/compiler.gni | 7 ++-----
|
||||
2 files changed, 14 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
index ede07d111c..6db16c1cdd 100644
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -1216,12 +1216,18 @@ config("compiler_deterministic") {
|
||||
# different build directory like "out/feature_a" and "out/feature_b" if
|
||||
# we build same files with same compile flag.
|
||||
# Other paths are already given in relative, no need to normalize them.
|
||||
- cflags += [
|
||||
- "-Xclang",
|
||||
- "-fdebug-compilation-dir",
|
||||
- "-Xclang",
|
||||
- ".",
|
||||
- ]
|
||||
+ if (is_nacl) {
|
||||
+ cflags += [
|
||||
+ "-Xclang",
|
||||
+ "-fdebug-compilation-dir",
|
||||
+ "-Xclang",
|
||||
+ ".",
|
||||
+ ]
|
||||
+ } else {
|
||||
+ # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
|
||||
+ # and -fcoverage-compilation-dir=.
|
||||
+ cflags += [ "-ffile-compilation-dir=." ]
|
||||
+ }
|
||||
if (!is_win) {
|
||||
# We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
|
||||
asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
|
||||
diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni
|
||||
index 8c259c360a..642319b4f4 100644
|
||||
--- a/build/config/compiler/compiler.gni
|
||||
+++ b/build/config/compiler/compiler.gni
|
||||
@@ -225,11 +225,8 @@ declare_args() {
|
||||
# deterministic builds to reduce compile times, so this is less relevant for
|
||||
# official builders.
|
||||
strip_absolute_paths_from_debug_symbols_default =
|
||||
- # TODO(crbug.com/1010267): remove '!use_clang_coverage', coverage build has
|
||||
- # dependency to absolute path of source files.
|
||||
- !use_clang_coverage &&
|
||||
- (is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux ||
|
||||
- is_chromeos || (is_apple && !enable_dsyms))
|
||||
+ is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux ||
|
||||
+ is_chromeos || (is_apple && !enable_dsyms)
|
||||
|
||||
# If the platform uses stripped absolute paths by default, then we don't expose
|
||||
# it as a configuration option. If this is causing problems, please file a bug.
|
||||
@@ -13,7 +13,7 @@
|
||||
<IsA>app:gui</IsA>
|
||||
<Summary>A WebKit powered web browser</Summary>
|
||||
<Description>Chromium-browser is an open-source web browser, powered by WebKit.</Description>
|
||||
<Archive type="tarxz" sha1sum="b36cf2a286bacb986bcc84b1fb7d3d93e98e45e0">http://gsdview.appspot.com/chromium-browser-official/chromium-92.0.4515.131.tar.xz</Archive>
|
||||
<Archive type="tarxz" sha1sum="a44be99fbc55ff5e29f79017bcb9f4e0e665a10f">http://gsdview.appspot.com/chromium-browser-official/chromium-95.0.4638.54.tar.xz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>alsa-lib-devel</Dependency>
|
||||
<Dependency>at-spi2-atk-devel</Dependency>
|
||||
@@ -103,7 +103,13 @@
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<!-- Arch Patches -->
|
||||
<Patch level="1">extend-enable-accelerated-video-decode-flag.patch</Patch>
|
||||
<Patch level="0">unexpire-accelerated-video-decode-flag.patch</Patch>
|
||||
<Patch level="1">maldoca-depend-on-zlib-instead-of-headers-only.patch</Patch>
|
||||
<Patch level="1">ozone-x11-fix-VA-API.patch</Patch>
|
||||
<!-- <Patch level="1">replace-blacklist-with-ignorelist.patch</Patch> -->
|
||||
<!-- <Patch level="1">add-a-TODO-about-a-missing-pnacl-flag.patch</Patch> -->
|
||||
<!-- <Patch level="1">use-ffile-compilation-dir.patch</Patch> -->
|
||||
<Patch level="1">pipewire-do-not-typecheck-the-portal-session_handle.patch</Patch>
|
||||
<Patch level="1">sql-make-VirtualCursor-standard-layout-type.patch</Patch>
|
||||
<Patch level="1">use-oauth2-client-switches-as-default.patch</Patch>
|
||||
<!-- Other Patches -->
|
||||
@@ -114,11 +120,10 @@
|
||||
<!-- Chromium Patchset -->
|
||||
<!-- Source: https://github.com/stha09/chromium-patches -->
|
||||
<Patch level="1">patches/chromium-78-protobuf-RepeatedPtrField-export.patch</Patch>
|
||||
<Patch level="1">patches/chromium-90-ruy-include.patch</Patch>
|
||||
<Patch level="1">patches/chromium-91-compiler.patch</Patch>
|
||||
<Patch level="1">patches/chromium-91-libyuv-aarch64.patch</Patch>
|
||||
<Patch level="1">patches/chromium-92-v8-constexpr.patch</Patch>
|
||||
<Patch level="1">patches/chromium-swiftshader-export.patch</Patch>
|
||||
<Patch level="1">patches/chromium-95-BitstreamReader-namespace.patch</Patch>
|
||||
<Patch level="1">patches/chromium-95-compiler.patch</Patch>
|
||||
<Patch level="1">patches/chromium-95-libyuv-aarch64.patch</Patch>
|
||||
<Patch level="1">patches/chromium-95-quiche-include.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
@@ -200,6 +205,13 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="25">
|
||||
<Date>2021-10-21</Date>
|
||||
<Version>95.0.4638.54</Version>
|
||||
<Comment>Version Bump</Comment>
|
||||
<Name>İdris Kalp</Name>
|
||||
<Email>idriskalp@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="24">
|
||||
<Date>2021-08-16</Date>
|
||||
<Version>92.0.4515.131</Version>
|
||||
|
||||
Reference in New Issue
Block a user