[Docs] (Pipe): restate what the records-reach-the-applier predicate is for now that the constant is set - the A/B arm it keeps compilable, and the two places a discarded call may not be treated as an accepted one

This commit is contained in:
2026-09-08 16:52:11 -04:00
committed by rereview
parent 0338812cf3
commit 602326f379
+12 -12
View File
@@ -110,20 +110,20 @@ namespace MobileGL::MG_Pipe {
// family off clears MG_Config::Features.PipePush, which is the switch the shipped build has. // family off clears MG_Config::Features.PipePush, which is the switch the shipped build has.
inline Bool MGPipeTextureSubsystemEnabled(); inline Bool MGPipeTextureSubsystemEnabled();
// DO THE RECORDS THIS EMITTER BUILDS REACH THE APPLIER ON THIS BASE? It is the wired // DO THE RECORDS THIS EMITTER BUILDS REACH THE APPLIER IN THIS BUILD? It is the wired
// constant asked as a predicate, and it is a SECOND gate rather than the same one because // constant asked as a COMPILE-TIME predicate, and with the constant set it is simply true -
// the two questions really are different while the flip is blocked: // which is the point: every `if constexpr` below is taken, so the acceptance answers the
// emitter gates its own bookkeeping on are real answers rather than a default.
// //
// * the emitter's ARM decides whether the family runs at all - the handles, the sticky // IT IS KEPT RATHER THAN INLINED because it is what makes a build with the constant back at
// bind mask, the descriptor dedupe, the drain list and the record construction; // 0 - the A/B arm an operator gets by editing one line, and the arm a bisect lands on -
// * this decides whether the four resource_* records are handed to P3a's apply bodies, // compile with the applier calls discarded instead of half-wired. Where the difference
// which cannot hold them until the wire package's w1 gives them their Desc.Target // matters is stated at each site: the dirty-flag clear may never run on a discarded call
// branch and their three per-kind vectors. // (D-D5 step 1), and the descriptor mirror may not advance past a call that never landed.
// //
// set_texture_params is deliberately NOT behind it: MGPipeApplySetTextureParams is one of // set_texture_params is deliberately NOT behind it. It is addressed by RESOURCE and is the
// P4a's OWN fifteen entry points and is a stub at the contract tag, so a record handed to it // one call that closes D-E3's READ-attachment gap, and its BuiltinSampler comes from the
// is stored by nobody and refused by nobody. Sending it is what keeps that seam exercised // sampler family rather than this one - so it rides bit 11's wiring, not bit 10's.
// rather than merely declared.
inline constexpr Bool MGPipeTextureRecordsReachTheApplier() { inline constexpr Bool MGPipeTextureRecordsReachTheApplier() {
return (kMGPipeWiredTextureSubsystem & kMGPipeSubsystemTextureResources) != 0; return (kMGPipeWiredTextureSubsystem & kMGPipeSubsystemTextureResources) != 0;
} }