From 25395a9f9a596b26c7c27362d68103ab2aaac580 Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Sun, 12 Jul 2026 05:37:03 -0400 Subject: [PATCH] [Docs] (MG_Backend/DirectGLES): TODO for buffer-pool Phase 2 orphan-on-respecify --- MobileGL/MG_Backend/DirectGLES/Managers.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/MobileGL/MG_Backend/DirectGLES/Managers.cpp b/MobileGL/MG_Backend/DirectGLES/Managers.cpp index 109dcf2a..4ae282b2 100644 --- a/MobileGL/MG_Backend/DirectGLES/Managers.cpp +++ b/MobileGL/MG_Backend/DirectGLES/Managers.cpp @@ -363,6 +363,13 @@ namespace MobileGL::MG_Backend::DirectGLES { // (Re)specify backend storage from the shadow copy: glBufferData. // The orphaning point - the ES driver performs the actual rename. + // TODO(buffer-pool Phase 2): orphan-on-respecify is NOT yet implemented. + // When the current id is BUSY (lastUseFrameSerial > CompletedFrameSerial()) + // && !persistentMapped && !noOrphan, express the orphan as an id-swap + // (retire the busy id into the pool, bind a fresh/pooled id) instead of the + // in-place glBufferData below, to avoid the driver's own rename/stall. Not + // pursued yet: glBufferData/glBufferSubData currently sit below profiler + // noise, so respecify is not a hot path in the profiled scenes. void RespecifyStorageNow(GLESBufferResource& resource, BufferObject& bufferObject) { #ifdef TRACY_ENABLE ZoneScopedC(TRACY_ZONECOLOR_BACKEND);