From 75c0bcae804f422e51172c2f0b80c82cbe2e47b4 Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Fri, 11 Sep 2026 14:28:34 -0400 Subject: [PATCH] [Docs] (MG_Remote): correct the sparse-caps comment - 13 targets by 77 internal formats is ~16 KiB of dense table, not half a megabyte --- MobileGL/MG_Remote/CapsCodec.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/MobileGL/MG_Remote/CapsCodec.cpp b/MobileGL/MG_Remote/CapsCodec.cpp index 8151600a..13a9574e 100644 --- a/MobileGL/MG_Remote/CapsCodec.cpp +++ b/MobileGL/MG_Remote/CapsCodec.cpp @@ -21,10 +21,11 @@ // a single element is reserved, so a corrupt count cannot become a four-billion-element // resize; // * SPARSE for all three capability tables. The dense form is -// 2 * targets * formats * 8 bytes plus the sample-count lists - half a megabyte of mostly -// zeroes, per context, per caps invalidation (R-12 makes a re-arriving snapshot the -// invalidation, so this is not a once-per-process cost). The tables are overwhelmingly -// empty, so what crosses is (index, value) pairs and the decoder Clear()s first; +// 2 * targets * formats * 8 bytes plus the sample-count lists - with 13 targets and 77 +// internal formats that is ~16 KiB of mostly zeroes, PER CONTEXT AND PER CAPS +// INVALIDATION, because R-12 makes a re-arriving snapshot the invalidation rather than a +// once-per-process cost. The tables are overwhelmingly empty, so what crosses is +// (index, value) pairs and the decoder Clear()s first; // * little-endian by memcpy of fixed-width scalars, which is what every other MobileGL wire // struct already assumes and what the ABI fingerprint below makes checkable; // * every decoder returns FALSE on truncation, a bad version, a dimension mismatch, an