From b3b9c2ee12ee250cbde0c7372b1b3b9084edb706 Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Mon, 21 Sep 2026 04:40:08 -0400 Subject: [PATCH] [MG_Backend] (DirectGLES): the guard comment cites the visibility block it means Two comments from the previous commit, corrected. The CMakeLists.txt reference in DirectGLES.cpp pointed at the link libraries instead of the Debug/Release visibility preset it names (707-719, not 629-641). The Managers.h note said the overload is "reached by the pull, verify and push build" through "the three wrappers", which reads as if all three called it; only VertexArrayImpl::SyncClientSideVertexArraysForFetch does, and what those flavors compile is the declaration, which is the point being made. No code change: the four flavors' libraries are byte-identical to the previous commit's (comment-only). --- MobileGL/MG_Backend/DirectGLES/DirectGLES.cpp | 2 +- MobileGL/MG_Backend/DirectGLES/Managers.h | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/MobileGL/MG_Backend/DirectGLES/DirectGLES.cpp b/MobileGL/MG_Backend/DirectGLES/DirectGLES.cpp index 7ac7d6c9..6cfa5a2c 100644 --- a/MobileGL/MG_Backend/DirectGLES/DirectGLES.cpp +++ b/MobileGL/MG_Backend/DirectGLES/DirectGLES.cpp @@ -2423,7 +2423,7 @@ namespace MobileGL::MG_Backend::DirectGLES { // function that only re-homes two identical inline blocks the two DrawArrays entry // points used to carry. The same spelling governs the three below, and for a second // reason on top of the symbol count: a Debug build drops CXX_VISIBILITY_PRESET to - // `default` (CMakeLists.txt:629-641), so an external-linkage helper here would be a + // `default` (CMakeLists.txt:707-719), so an external-linkage helper here would be a // DYNAMIC export in exactly the configuration a symbol gate cannot see it in. // // ALL FLAVORS, NOT JUST THE SPLIT ARM. These three were inside diff --git a/MobileGL/MG_Backend/DirectGLES/Managers.h b/MobileGL/MG_Backend/DirectGLES/Managers.h index d634614d..e3a3404e 100644 --- a/MobileGL/MG_Backend/DirectGLES/Managers.h +++ b/MobileGL/MG_Backend/DirectGLES/Managers.h @@ -1358,11 +1358,12 @@ namespace MobileGL::MG_Backend::DirectGLES { // SKIP the draw: issuing it would have the shader read whatever the ES context last // held for that attribute, which is a wrong picture rather than an error. // - // UNGUARDED WITH ITS CALLERS: the three VertexArrayImpl wrappers above it in - // DirectGLES.cpp early-return unless the transport is Monolith, so this overload is - // reached by the pull, verify and push build too - and those builds compile the - // indexed and indirect entry points that call it. The declaration follows its - // definition (Managers.cpp). + // UNGUARDED WITH ITS CALLERS. Its only call site is + // VertexArrayImpl::SyncClientSideVertexArraysForFetch in DirectGLES.cpp, whose + // body returns early unless the transport is Monolith - and the monolith arm is + // what the pull, verify and push builds run, not a split-arm fallback. Those + // flavors therefore compile it, so its declaration and definition (Managers.cpp) + // have to be visible there too. Bool SyncClientSideAttributesForDraw( const SharedPtr& stateVAOObject, const MG_Pipe::MGPipeClientFetchPlan& plan, Uint32 fetchBaseInstance);