Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (df38820dad07c82fe3baaccc2c26d364ec1bf42d)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Pavel Vinogradov <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (df38820dad07c82fe3baaccc2c26d364ec1bf42d)
  • Date: Tue, 9 May 2023 02:25:22 +0000

GIT changes to master grimoire by Pavel Vinogradov <public AT sourcemage.org>:

http/firefox/HISTORY
| 6

http/firefox/patches/0021-bmo-1670333-OpenH264-Fix-decoding-if-it-starts-on-no.patch
| 96 --------

http/firefox/patches/0022-bmo-1663844-OpenH264-Allow-using-OpenH264-GMP-decode.patch
| 37 ---

http/firefox/patches/0031-bmo-1822728-increase-child-process-shutdown-timeout.patch
| 37 ---

http/firefox/patches/0032-bmo-1803016-wayland-dont-commit-wl_buffer-if-buffer-scale-doesnt-match.patch
| 116 ----------
http/firefox/patches/0033-bmo-1822747-riscv64-jit-fix.patch
| 80 ------
6 files changed, 6 insertions(+), 366 deletions(-)

New commits:
commit df38820dad07c82fe3baaccc2c26d364ec1bf42d
Author: Pavel Vinogradov <public AT sourcemage.org>
Commit: Pavel Vinogradov <public AT sourcemage.org>

http/firefox: dropped invalid patches

diff --git a/http/firefox/HISTORY b/http/firefox/HISTORY
index 9c4c405..1cf60a0 100644
--- a/http/firefox/HISTORY
+++ b/http/firefox/HISTORY
@@ -1,5 +1,11 @@
2023-05-08 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: version 113.0, SECURITY_PATCH++
+ *
patches/0021-bmo-1670333-OpenH264-Fix-decoding-if-it-starts-on-no.patch,
+
patches/0022-bmo-1663844-OpenH264-Allow-using-OpenH264-GMP-decode.patch,
+
patches/0031-bmo-1822728-increase-child-process-shutdown-timeout.patch,
+
patches/0032-bmo-1803016-wayland-dont-commit-wl_buffer-if-buffer-scale-doesnt-match.patch,
+ patches/0033-bmo-1822747-riscv64-jit-fix.patch: dropped
+

2023-04-25 Pavel Vinogradov <public AT sourcemage.org>
* patches/*: updated
diff --git
a/http/firefox/patches/0021-bmo-1670333-OpenH264-Fix-decoding-if-it-starts-on-no.patch

b/http/firefox/patches/0021-bmo-1670333-OpenH264-Fix-decoding-if-it-starts-on-no.patch
deleted file mode 100644
index 856361d..0000000
---
a/http/firefox/patches/0021-bmo-1670333-OpenH264-Fix-decoding-if-it-starts-on-no.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 0b53fcfa8ee76ccc2d77abb947810f631efaecd9 Mon Sep 17 00:00:00 2001
-From: Thomas Deutschmann <whissi AT gentoo.org>
-Date: Fri, 11 Dec 2020 15:37:38 +0100
-Subject: [PATCH 29/30] bmo#1670333: OpenH264: Fix decoding if it starts on
non
- IDR I-frame
-
-Signed-off-by: Thomas Deutschmann <whissi AT gentoo.org>
----
- dom/media/mp4/MP4Demuxer.cpp | 8 ++++++++
- dom/media/platforms/PDMFactory.cpp | 15 ++++++++++-----
- dom/media/platforms/PDMFactory.h | 2 ++
- 3 files changed, 20 insertions(+), 5 deletions(-)
-
-diff --git a/dom/media/mp4/MP4Demuxer.cpp b/dom/media/mp4/MP4Demuxer.cpp
-index 59bba16577..0304e3e89f 100644
---- a/dom/media/mp4/MP4Demuxer.cpp
-+++ b/dom/media/mp4/MP4Demuxer.cpp
-@@ -31,6 +31,8 @@ mozilla::LogModule* GetDemuxerLog() { return
gMediaDemuxerLog; }
- DDMOZ_LOG(gMediaDemuxerLog, mozilla::LogLevel::Debug, "::%s: " arg, \
- __func__, ##__VA_ARGS__)
-
-+extern bool gUseKeyframeFromContainer;
-+
- namespace mozilla {
-
- DDLoggedTypeDeclNameAndBase(MP4TrackDemuxer, MediaTrackDemuxer);
-@@ -394,6 +396,12 @@ already_AddRefed<MediaRawData>
MP4TrackDemuxer::GetNextSample() {
- [[fallthrough]];
- case H264::FrameType::OTHER: {
- bool keyframe = type == H264::FrameType::I_FRAME;
-+ if (gUseKeyframeFromContainer) {
-+ if (sample->mKeyframe && sample->mKeyframe != keyframe) {
-+ sample->mKeyframe = keyframe;
-+ }
-+ break;
-+ }
- if (sample->mKeyframe != keyframe) {
- NS_WARNING(nsPrintfCString("Frame incorrectly marked as
%skeyframe "
- "@ pts:%" PRId64 " dur:%" PRId64
-diff --git a/dom/media/platforms/PDMFactory.cpp
b/dom/media/platforms/PDMFactory.cpp
-index 4e377082ae..e778eb9948 100644
---- a/dom/media/platforms/PDMFactory.cpp
-+++ b/dom/media/platforms/PDMFactory.cpp
-@@ -58,6 +58,8 @@
-
- #include <functional>
-
-+bool gUseKeyframeFromContainer = false;
-+
- namespace mozilla {
-
- #define PDM_INIT_LOG(msg, ...) \
-@@ -536,10 +538,12 @@ void PDMFactory::CreateContentPDMs() {
- }
- #endif
- #ifdef MOZ_FFMPEG
-- if (StaticPrefs::media_ffmpeg_enabled() &&
-- !CreateAndStartupPDM<FFmpegRuntimeLinker>()) {
-- mFailureFlags += GetFailureFlagBasedOnFFmpegStatus(
-- FFmpegRuntimeLinker::LinkStatusCode());
-+ if (StaticPrefs::media_ffmpeg_enabled()) {
-+ mFFmpegUsed = CreateAndStartupPDM<FFmpegRuntimeLinker>();
-+ if (!mFFmpegUsed) {
-+ mFailureFlags += GetFailureFlagBasedOnFFmpegStatus(
-+ FFmpegRuntimeLinker::LinkStatusCode());
-+ }
- }
- #endif
- #ifdef MOZ_FFVPX
-@@ -556,8 +560,9 @@ void PDMFactory::CreateContentPDMs() {
-
- CreateAndStartupPDM<AgnosticDecoderModule>();
-
-- if (StaticPrefs::media_gmp_decoder_enabled() &&
-+ if (StaticPrefs::media_gmp_decoder_enabled() && !mFFmpegUsed &&
- !CreateAndStartupPDM<GMPDecoderModule>()) {
-+ gUseKeyframeFromContainer = true;
- mFailureFlags += DecoderDoctorDiagnostics::Flags::GMPPDMFailedToStartup;
- }
- }
-diff --git a/dom/media/platforms/PDMFactory.h
b/dom/media/platforms/PDMFactory.h
-index 4fc81c0b37..72f3255b6f 100644
---- a/dom/media/platforms/PDMFactory.h
-+++ b/dom/media/platforms/PDMFactory.h
-@@ -122,6 +122,8 @@ class PDMFactory final {
-
- DecoderDoctorDiagnostics::FlagsSet mFailureFlags;
-
-+ bool mFFmpegUsed = false;
-+
- friend class RemoteVideoDecoderParent;
- static void EnsureInit();
- };
---
-2.34.1
-
diff --git
a/http/firefox/patches/0022-bmo-1663844-OpenH264-Allow-using-OpenH264-GMP-decode.patch

b/http/firefox/patches/0022-bmo-1663844-OpenH264-Allow-using-OpenH264-GMP-decode.patch
deleted file mode 100644
index 4cc43ea..0000000
---
a/http/firefox/patches/0022-bmo-1663844-OpenH264-Allow-using-OpenH264-GMP-decode.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -up firefox-101.0.1/dom/media/gmp/GMPSharedMemManager.h.1663844
firefox-101.0.1/dom/media/gmp/GMPSharedMemManager.h
---- firefox-101.0.1/dom/media/gmp/GMPSharedMemManager.h.1663844
2022-06-08 23:06:36.000000000 +0200
-+++ firefox-101.0.1/dom/media/gmp/GMPSharedMemManager.h 2022-06-09
17:17:04.775008085 +0200
-@@ -27,7 +27,7 @@ class GMPSharedMem {
- // returned to the parent pool (which is not included). If more than
- // this are needed, we presume the client has either crashed or hung
- // (perhaps temporarily).
-- static const uint32_t kGMPBufLimit = 20;
-+ static const uint32_t kGMPBufLimit = 40;
-
- GMPSharedMem() {
- for (size_t i = 0; i < sizeof(mGmpAllocated) / sizeof(mGmpAllocated[0]);
-diff -up
firefox-101.0.1/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp.1663844
firefox-101.0.1/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp
----
firefox-101.0.1/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp.1663844
2022-06-08 16:10:21.000000000 +0200
-+++ firefox-101.0.1/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp
2022-06-09 20:31:25.120035588 +0200
-@@ -84,6 +84,9 @@ media::DecodeSupportSet GMPDecoderModule
-
- media::DecodeSupportSet GMPDecoderModule::SupportsMimeType(
- const nsACString& aMimeType, DecoderDoctorDiagnostics* aDiagnostics)
const {
-+ if (MP4Decoder::IsH264(aMimeType)) {
-+ return media::DecodeSupport::SoftwareDecode;
-+ }
- return media::DecodeSupport::Unsupported;
- }
-
-diff -up
firefox-101.0.1/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp.1663844
firefox-101.0.1/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp
----
firefox-101.0.1/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp.1663844
2022-06-08 16:10:21.000000000 +0200
-+++ firefox-101.0.1/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp
2022-06-09 17:17:04.776008117 +0200
-@@ -70,6 +70,8 @@ void GMPVideoDecoder::Decoded(GMPVideoi4
- RefPtr<GMPVideoDecoder> self = this;
- if (v) {
- mDecodedData.AppendElement(std::move(v));
-+ mDecodePromise.ResolveIfExists(std::move(mDecodedData), __func__);
-+ mDecodedData = DecodedData();
- } else {
- mDecodedData.Clear();
- mDecodePromise.RejectIfExists(
diff --git
a/http/firefox/patches/0031-bmo-1822728-increase-child-process-shutdown-timeout.patch

b/http/firefox/patches/0031-bmo-1822728-increase-child-process-shutdown-timeout.patch
deleted file mode 100644
index 20e0bef..0000000
---
a/http/firefox/patches/0031-bmo-1822728-increase-child-process-shutdown-timeout.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-
-# HG changeset patch
-# User Jed Davis <jld AT mozilla.com>
-# Date 1679344351 0
-# Node ID 7e9a0b039a2ba0bc9c418ee10aaede4b84b15e1c
-# Parent 02b47d7b0b13baf7892834a6073ecd453cd5c0db
-Bug 1822728 - Increase the child process shutdown timeout for Unix ccov
builds. r=ipc-reviewers,nika
-
-Differential Revision: https://phabricator.services.mozilla.com/D172752
-
-diff --git a/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc
b/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc
---- a/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc
-+++ b/ipc/chromium/src/chrome/common/process_watcher_posix_sigchld.cc
-@@ -20,17 +20,21 @@
-
- // Maximum amount of time (in milliseconds) to wait for the process to exit.
- // XXX/cjones: fairly arbitrary, chosen to match process_watcher_win.cc
- static constexpr int kMaxWaitMs = 2000;
-
- // This is also somewhat arbitrary, but loosely based on Try results.
- // See also toolkit.asyncshutdown.crash_timeout (currently 60s) after
- // which the parent process will be killed.
--#if defined(MOZ_ASAN) || defined(MOZ_TSAN)
-+#ifdef MOZ_CODE_COVERAGE
-+// Code coverage instrumentation can be slow (especially when writing
-+// out data, which has to take a lock on the data files).
-+static constexpr int kShutdownWaitMs = 80000;
-+#elif defined(MOZ_ASAN) || defined(MOZ_TSAN)
- // Sanitizers slow things down in some cases; see bug 1806224.
- static constexpr int kShutdownWaitMs = 40000;
- #else
- static constexpr int kShutdownWaitMs = 8000;
- #endif
-
- namespace {
-
-
diff --git
a/http/firefox/patches/0032-bmo-1803016-wayland-dont-commit-wl_buffer-if-buffer-scale-doesnt-match.patch

b/http/firefox/patches/0032-bmo-1803016-wayland-dont-commit-wl_buffer-if-buffer-scale-doesnt-match.patch
deleted file mode 100644
index 0e9642f..0000000
---
a/http/firefox/patches/0032-bmo-1803016-wayland-dont-commit-wl_buffer-if-buffer-scale-doesnt-match.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-
-# HG changeset patch
-# User stransky <stransky AT redhat.com>
-# Date 1680176993 0
-# Node ID 1068e0955cfbe594492c5ac032924651eb54c40e
-# Parent 90b165c788cf66a8ff6320ee95dc0af3a65b73be
-Bug 1803016 [Wayland] Don't commit wl_buffer if buffer scale doesn't match
its size r=emilio
-
-Differential Revision: https://phabricator.services.mozilla.com/D173814
-
-diff --git a/widget/gtk/MozContainerWayland.cpp
b/widget/gtk/MozContainerWayland.cpp
---- a/widget/gtk/MozContainerWayland.cpp
-+++ b/widget/gtk/MozContainerWayland.cpp
-@@ -592,16 +592,23 @@ void moz_container_wayland_set_scale_fac
-
- void moz_container_wayland_set_scale_factor(MozContainer* container) {
- MutexAutoLock lock(*container->wl_container.container_lock);
- if (container->wl_container.surface) {
- moz_container_wayland_set_scale_factor_locked(lock, container);
- }
- }
-
-+bool moz_container_wayland_size_matches_scale_factor_locked(
-+ const MutexAutoLock& aProofOfLock, MozContainer* container, int aWidth,
-+ int aHeight) {
-+ return aWidth % container->wl_container.buffer_scale == 0 &&
-+ aHeight % container->wl_container.buffer_scale == 0;
-+}
-+
- static bool moz_container_wayland_surface_create_locked(
- const MutexAutoLock& aProofOfLock, MozContainer* container) {
- MozContainerWayland* wl_container = &container->wl_container;
-
- LOGWAYLAND("%s [%p]\n", __FUNCTION__,
- (void*)moz_container_get_nsWindow(container));
-
- GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(container));
-diff --git a/widget/gtk/MozContainerWayland.h
b/widget/gtk/MozContainerWayland.h
---- a/widget/gtk/MozContainerWayland.h
-+++ b/widget/gtk/MozContainerWayland.h
-@@ -80,16 +80,19 @@ gboolean moz_container_wayland_has_egl_w
- void moz_container_wayland_egl_window_set_size(MozContainer* container,
- nsIntSize aSize);
- bool moz_container_wayland_egl_window_needs_size_update(MozContainer*
container,
- nsIntSize aSize,
- int scale);
- void moz_container_wayland_set_scale_factor(MozContainer* container);
- void moz_container_wayland_set_scale_factor_locked(
- const mozilla::MutexAutoLock& aProofOfLock, MozContainer* container);
-+bool moz_container_wayland_size_matches_scale_factor_locked(
-+ const mozilla::MutexAutoLock& aProofOfLock, MozContainer* container,
-+ int aWidth, int aHeight);
-
- void moz_container_wayland_add_initial_draw_callback_locked(
- MozContainer* container, const std::function<void(void)>&
initial_draw_cb);
- void moz_container_wayland_add_or_fire_initial_draw_callback(
- MozContainer* container, const std::function<void(void)>&
initial_draw_cb);
- void moz_container_wayland_clear_initial_draw_callback(MozContainer*
container);
-
- wl_surface* moz_gtk_widget_get_wl_surface(GtkWidget* aWidget);
-diff --git a/widget/gtk/WindowSurfaceWaylandMultiBuffer.cpp
b/widget/gtk/WindowSurfaceWaylandMultiBuffer.cpp
---- a/widget/gtk/WindowSurfaceWaylandMultiBuffer.cpp
-+++ b/widget/gtk/WindowSurfaceWaylandMultiBuffer.cpp
-@@ -280,18 +280,18 @@ void WindowSurfaceWaylandMB::Commit(
-
- if (!mInProgressBuffer) {
- // invisible window
- return;
- }
- mFrameInProcess = false;
-
- MozContainer* container = mWindow->GetMozContainer();
-- MozContainerSurfaceLock lock(container);
-- struct wl_surface* waylandSurface = lock.GetSurface();
-+ MozContainerSurfaceLock MozContainerLock(container);
-+ struct wl_surface* waylandSurface = MozContainerLock.GetSurface();
- if (!waylandSurface) {
- LOGWAYLAND(
- "WindowSurfaceWaylandMB::Commit [%p] frame queued: can't lock "
- "wl_surface\n",
- (void*)mWindow.get());
- if (!mCallbackRequested) {
- RefPtr<WindowSurfaceWaylandMB> self(this);
- moz_container_wayland_add_initial_draw_callback_locked(
-@@ -314,18 +314,29 @@ void WindowSurfaceWaylandMB::Commit(
- wl_surface_damage(waylandSurface, 0, 0, INT32_MAX, INT32_MAX);
- } else {
- for (auto iter = aInvalidRegion.RectIter(); !iter.Done(); iter.Next()) {
- LayoutDeviceIntRect r = iter.Get();
- wl_surface_damage_buffer(waylandSurface, r.x, r.y, r.width, r.height);
- }
- }
-
-+ // aProofOfLock is a kind of substitution of MozContainerSurfaceLock.
-+ // MozContainer is locked but MozContainerSurfaceLock doen't convert to
-+ // MutexAutoLock& so we use aProofOfLock here.
- moz_container_wayland_set_scale_factor_locked(aProofOfLock, container);
-- mInProgressBuffer->AttachAndCommit(waylandSurface);
-+
-+ // It's possible that scale factor changed between Lock() and Commit()
-+ // but window size is the same.
-+ // Don't attach such buffer as it may have incorrect size,
-+ // we'll paint new content soon.
-+ if (moz_container_wayland_size_matches_scale_factor_locked(
-+ aProofOfLock, container, mWindowSize.width, mWindowSize.height)) {
-+ mInProgressBuffer->AttachAndCommit(waylandSurface);
-+ }
-
- mInProgressBuffer->ResetBufferAge();
- mFrontBuffer = mInProgressBuffer;
- mFrontBufferInvalidRegion = aInvalidRegion;
- mInProgressBuffer = nullptr;
-
- EnforcePoolSizeLimit(aProofOfLock);
- IncrementBufferAge(aProofOfLock);
-
diff --git a/http/firefox/patches/0033-bmo-1822747-riscv64-jit-fix.patch
b/http/firefox/patches/0033-bmo-1822747-riscv64-jit-fix.patch
deleted file mode 100644
index 9a10916..0000000
--- a/http/firefox/patches/0033-bmo-1822747-riscv64-jit-fix.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-
-# HG changeset patch
-# User Lu Yahan <yahan AT iscas.ac.cn>
-# Date 1679305236 0
-# Node ID f2cd6873bc2a3f01038ef40cabb3b5d81ab7420f
-# Parent 49e254104e73f10002d85bf3567a16a40fde01b5
-Bug 1822747 - Add a 'pushValue' function in MacroAssembler.r=jandem
-
-Differential Revision: https://phabricator.services.mozilla.com/D172760
-
-diff --git a/js/src/jit/moz.build b/js/src/jit/moz.build
---- a/js/src/jit/moz.build
-+++ b/js/src/jit/moz.build
-@@ -225,17 +225,17 @@ elif CONFIG["JS_CODEGEN_LOONG64"]:
- "loong64/Trampoline-loong64.cpp",
- ]
- if CONFIG["JS_SIMULATOR_LOONG64"]:
- UNIFIED_SOURCES += ["loong64/Simulator-loong64.cpp"]
- elif CONFIG["JS_CODEGEN_RISCV64"]:
- UNIFIED_SOURCES += [
- "riscv64/Architecture-riscv64.cpp",
- "riscv64/Assembler-riscv64.cpp",
-- "riscv64/AssemblerMatInt.cpp.cpp",
-+ "riscv64/AssemblerMatInt.cpp",
- "riscv64/CodeGenerator-riscv64.cpp",
- "riscv64/constant/Base-constant-riscv.cpp",
- "riscv64/disasm/Disasm-riscv64.cpp",
- "riscv64/extension/base-assembler-riscv.cc",
- "riscv64/extension/base-riscv-i.cc",
- "riscv64/extension/extension-riscv-a.cc",
- "riscv64/extension/extension-riscv-c.cc",
- "riscv64/extension/extension-riscv-d.cc",
-diff --git a/js/src/jit/riscv64/MacroAssembler-riscv64.h
b/js/src/jit/riscv64/MacroAssembler-riscv64.h
---- a/js/src/jit/riscv64/MacroAssembler-riscv64.h
-+++ b/js/src/jit/riscv64/MacroAssembler-riscv64.h
-@@ -988,16 +988,20 @@ class MacroAssemblerRiscv64Compat : publ
- }
- void pushValue(JSValueType type, Register reg) {
- UseScratchRegisterScope temps(this);
- Register scratch = temps.Acquire();
- boxValue(type, reg, scratch);
- push(scratch);
- }
- void pushValue(const Address& addr);
-+ void pushValue(const BaseIndex& addr, Register scratch) {
-+ loadValue(addr, ValueOperand(scratch));
-+ pushValue(ValueOperand(scratch));
-+ }
-
- void handleFailureWithHandlerTail(Label* profilerExitTail,
- Label* bailoutTail);
-
- /////////////////////////////////////////////////////////////////
- // Common interface.
- /////////////////////////////////////////////////////////////////
- public:
-diff --git a/js/src/jsapi-tests/testJitMacroAssembler.cpp
b/js/src/jsapi-tests/testJitMacroAssembler.cpp
---- a/js/src/jsapi-tests/testJitMacroAssembler.cpp
-+++ b/js/src/jsapi-tests/testJitMacroAssembler.cpp
-@@ -19,18 +19,17 @@
- #include "jit/MacroAssembler-inl.h"
-
- using namespace js;
- using namespace js::jit;
-
- using mozilla::NegativeInfinity;
- using mozilla::PositiveInfinity;
-
--#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || \
-- defined(JS_CODEGEN_RISCV64s)
-+#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64)
-
- BEGIN_TEST(testJitMacroAssembler_flexibleDivMod) {
- TempAllocator tempAlloc(&cx->tempLifoAlloc());
- JitContext jcx(cx);
- StackMacroAssembler masm(cx, tempAlloc);
- AutoCreatedBy acb(masm, __func__);
-
- PrepareJit(masm);
-



  • [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (df38820dad07c82fe3baaccc2c26d364ec1bf42d), Pavel Vinogradov, 05/08/2023

Archive powered by MHonArc 2.6.24.

Top of Page