tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit bb13e903d533c70ff7a4dd58328e614ed950503d
parent dc41e70d999404af7dd06be9aef9633d54ee7109
Author: Cristina Horotan <chorotan@mozilla.com>
Date:   Thu, 18 Dec 2025 01:38:44 +0200

Revert "Bug 2005820 - Don't start warming up shaders until the first NewRenderer task is done (i.e. until EnsureConnected in the parent has completed). r=jnicol" for causing bc failures on /browser_preferences.js

This reverts commit 264f0516e0e9d73b98079e2b1bf3cd803c65914d.

Diffstat:
Mgfx/webrender_bindings/RenderThread.cpp | 12++++++------
Mgfx/webrender_bindings/RenderThread.h | 2--
Mgfx/webrender_bindings/WebRenderAPI.cpp | 4----
3 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/gfx/webrender_bindings/RenderThread.cpp b/gfx/webrender_bindings/RenderThread.cpp @@ -1279,6 +1279,12 @@ void RenderThread::InitDeviceTask() { // lazy initialization to happen now. SingletonGL(); + if (mShaders) { + // Kick off shader warmup, outside the InitDeviceTask so that this thread + // becomes available to handle other messages from the Compositor. + PostResumeShaderWarmupRunnable(); + } + const auto maxDurationMs = 3 * 1000; const auto end = TimeStamp::Now(); const auto durationMs = static_cast<uint32_t>((end - start).ToMilliseconds()); @@ -1288,12 +1294,6 @@ void RenderThread::InitDeviceTask() { } } -void RenderThread::BeginShaderWarmupIfNeeded() { - if (mShaders) { - PostResumeShaderWarmupRunnable(); - } -} - void RenderThread::PostResumeShaderWarmupRunnable() { RefPtr<Runnable> runnable = NewRunnableMethod("RenderThread::ResumeShaderWarmup", this, diff --git a/gfx/webrender_bindings/RenderThread.h b/gfx/webrender_bindings/RenderThread.h @@ -360,8 +360,6 @@ class RenderThread final { void SetBatteryInfo(const hal::BatteryInformation& aBatteryInfo); bool GetPowerIsCharging(); - void BeginShaderWarmupIfNeeded(); - private: static size_t sRendererCount; static size_t sActiveRendererCount; diff --git a/gfx/webrender_bindings/WebRenderAPI.cpp b/gfx/webrender_bindings/WebRenderAPI.cpp @@ -191,10 +191,6 @@ class NewRenderer : public RendererEvent { } aRenderThread.AddRenderer(aWindowId, std::move(renderer)); - - // Kick off shader warmup, outside this NewRenderer task so that any - // threads which block on the NewRenderer work can proceed immediately. - aRenderThread.BeginShaderWarmupIfNeeded(); } const char* Name() override { return "NewRenderer"; }