From 9c9145ac02b7cdb3d5ce77acdf972e0d00807a31 Mon Sep 17 00:00:00 2001 From: itchyfeetleech <169226071+itchyfeetleech@users.noreply.github.com> Date: Mon, 19 Oct 2026 19:26:21 +1300 Subject: [PATCH] engine: D4R_M_DUMP also writes the reconstruction's outputs d4r-m's D4R_M_DUMP now also writes what the reconstruction (post_m.comp) writes: the history (hist, RGBA16F at the reconstruction resolution), its half-resolution mean (half, RGBA32F) and the packed 11-11-10 image the downsample reads (packed). The presented image is the packed one filtered and rounded again, so a change in the history shows up there a frame later, if at all; the dump shows it in the frame it happens. Signed-off-by: itchyfeetleech <169226071+itchyfeetleech@users.noreply.github.com> --- engine/runtime_m.inc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/engine/runtime_m.inc b/engine/runtime_m.inc index 0a55b1c..ca63544 100644 --- a/engine/runtime_m.inc +++ b/engine/runtime_m.inc @@ -540,7 +540,12 @@ std::vector MEngine::debugResources() const { {"mix", VK_NULL_HANDLE, e.mix.handle, VkDeviceSize(w) * h * 4, w, h}, {"cov", VK_NULL_HANDLE, e.cov.handle, VkDeviceSize(w) * h * 8, w, h}, {"mvA", VK_NULL_HANDLE, e.mvA[1 - e.current].handle, VkDeviceSize(w) * h * 4, w, h}, - {"feat", VK_NULL_HANDLE, e.feat[1 - e.current].handle, VkDeviceSize(w) * h * 4, w, h}}; + {"feat", VK_NULL_HANDLE, e.feat[1 - e.current].handle, VkDeviceSize(w) * h * 4, w, h}, + // the reconstruction's outputs: the history, its half-resolution mean and the packed + // image the downsample reads + {"hist", VK_NULL_HANDLE, e.hist[1 - e.current].handle, VkDeviceSize(e.hw) * e.hh * 8, e.hw, e.hh}, + {"half", VK_NULL_HANDLE, e.half[1 - e.current].handle, VkDeviceSize(e.hw / 2) * (e.hh / 2) * 16, e.hw / 2, e.hh / 2}, + {"packed", e.packed.handle, VK_NULL_HANDLE, e.packed.size, 0, 0}}; if (e.model.presetL) r.push_back({"skip", e.skipL.handle, VK_NULL_HANDLE, e.skipL.size, 0, 0}); return r; }