From 339f391cf5bc352d519dac11927b2ddcc1aa13d8 Mon Sep 17 00:00:00 2001 From: chrg6 Date: Fri, 13 Nov 2026 17:16:38 -0500 Subject: [PATCH] Give the pipeline preparation's prebuild report its start time. In --prepare-pipelines and --prepare-shaders, a pool worker that finishes the last listed job calls prebuild_report, which logs now_ms() - K.t0; only prewarm_run, which these modes never run, set K.t0, so the line gave the time since the PC booted. seed_pipelines now sets K.t0 to its own start under P.lock beside K.loading. That start comes before the shader prewarm, so the figure includes the translation. Not reproduced before the change (no preparation log here has the line: only a pool worker ending the list writes it). vk_pipeline.c compiles with no new warnings. Co-Authored-By: Claude Opus 5.5 --- runtime/vk_pipeline.c | 1 + 1 file changed, 1 insertion(+) diff --git a/runtime/vk_pipeline.c b/runtime/vk_pipeline.c index 0c53565d..ba139557 100644 --- a/runtime/vk_pipeline.c +++ b/runtime/vk_pipeline.c @@ -8354,6 +8354,7 @@ static int seed_pipelines(const char *dir) { uint32_t queued = 0, dropped = 0, known = 0, other = 0, mesh = 0, no_mesh = 0; plat_mutex_lock(&P.lock); uint32_t built0 = K.built, failed0 = K.failed; + K.t0 = t0; // prebuild_report's start: this mode never runs prewarm_run, which sets it in play K.loading = 1; for (size_t i = 0; i < n; i++) { const uint8_t (*v)[32] = bsearch(r[i].vs, ids, u, 32, id_cmp);