From d80dc212999d00e9152def29f2bb48b72bf62c0a Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Tue, 22 Sep 2026 21:22:21 -0400 Subject: [PATCH] [MG_Backend] (P7): comment-only - the tally header names the macro that exists, and the def says the wire arm declines, not the draw - WireDeclineTally.h cited `MGL_WIRE_DECLINE_FALSE`, which does not exist; the statement pair a site actually writes is `MGL_WIRE_DECLINE_AT(Site, "why", ...); return false;`, and the bare-Count sites stand under a W/E of their own, which the audit holds them to - WireDeclines.def's banner said "EVERY WAY A MAGMA WIRE DRAW CAN DECLINE", contradicted by the header's "a decline is not always a skipped draw" paragraph: the Tex*/Shape*/Upload* rows count per texture sync, reached from the descriptor resolver, attachments, CopyTexSubImage, mipmap generation, CopyImageSubData and readback as well as from a draw. The banner now says the wire arm, and carries the per-sync sentence with a pointer to the header - both files are disaggregated-only (the def is included only from the guarded header), and the edits are comments: the pull build's .text and symbol set are unchanged (G1) --- .../MG_Backend/DirectVulkan/Renderer/WireDeclineTally.h | 4 +++- .../MG_Backend/DirectVulkan/Renderer/WireDeclines.def | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDeclineTally.h b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDeclineTally.h index 74f868ec..3bed82a0 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDeclineTally.h +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDeclineTally.h @@ -149,7 +149,9 @@ private: }; // Every decline goes through this: the tally moves ALWAYS, the log line is once per site. -// `return MGL_WIRE_DECLINE_FALSE(Site, "why", ...)` reads as the statement it replaces. +// `MGL_WIRE_DECLINE_AT(Site, "why", ...); return false;` is the statement pair that replaces +// a bare `return false;` (the few sites that call WireDeclineTally::Count directly stand +// under an MGLOG_W/E of their own; scripts/ci/wire_declines_audit.py holds them to that). // // A DECLINE IS NOT ALWAYS A SKIPPED DRAW, so the line does not say "draw". The Tex*, Shape* and // Upload* rows are counted per texture SYNC: SyncTextureResourceByHandle is reached from the diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDeclines.def b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDeclines.def index 13b9e0b8..fc5b8149 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDeclines.def +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDeclines.def @@ -6,7 +6,13 @@ // SPDX-License-Identifier: LGPL-3.0-only // End of Source File Header -// P7 wave 2 package B3. THE NAMES OF EVERY WAY A MAGMA WIRE DRAW CAN DECLINE. +// P7 wave 2 package B3. THE NAMES OF EVERY WAY THE MAGMA WIRE ARM CAN DECLINE. +// +// A DECLINE IS NOT ALWAYS A SKIPPED DRAW. The SetupWireDraw / DispatchWireCompute rows are one +// per refused draw or dispatch; the Tex* / Shape* / Upload* rows are counted per texture SYNC, +// which the draw path reaches once per sampled texture and the descriptor resolver, framebuffer +// attachments, CopyTexSubImage, mipmap generation, CopyImageSubData and texture readback reach +// on their own (WireDeclineTally.h, above MGL_WIRE_DECLINE_AT). // // CONTRACT-P7 ยง0 rule I says a refusal on the wire arm is either a named decline or a named // Fatal. Before B3 the draw path had a third shape the rule does not admit: a bare