From c879776a26986ce26c47742d411f17efab7eb890 Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Tue, 6 Oct 2026 11:53:51 -0400 Subject: [PATCH] [Refactor] (P13 W5 S3): Espryt's shared-image checks stay on the transport guard. --- MobileGL/MG_Backend/DirectGLES/Managers.cpp | 4 ++-- MobileGL/MG_Backend/DirectGLES/Managers.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/MobileGL/MG_Backend/DirectGLES/Managers.cpp b/MobileGL/MG_Backend/DirectGLES/Managers.cpp index 1525ef62..03561d6e 100644 --- a/MobileGL/MG_Backend/DirectGLES/Managers.cpp +++ b/MobileGL/MG_Backend/DirectGLES/Managers.cpp @@ -7047,7 +7047,7 @@ namespace MobileGL::MG_Backend::DirectGLES { } } -#if MOBILEGL_BUILD_RECORD_ARM +#if MOBILEGL_BUILD_DISAGGREGATED // A shared image's EGLImage lives exactly as long as the name it was bound to. m_sharedImage = nullptr; #endif @@ -16169,7 +16169,7 @@ namespace MobileGL::MG_Backend::DirectGLES { // PipeTextureStorageRecordForRecord and CONTRACT-P5E.md ยง5.2. const MG_Pipe::MGPipeResourceRecord* storage = PipeTextureStorageRecordForRecord(record); if (storage == nullptr) return false; -#if MOBILEGL_BUILD_RECORD_ARM +#if MOBILEGL_BUILD_DISAGGREGATED // Never clean while bound to a shared image: see IsDrawSyncClean. if (m_sharedImage != nullptr) return false; #endif diff --git a/MobileGL/MG_Backend/DirectGLES/Managers.h b/MobileGL/MG_Backend/DirectGLES/Managers.h index 47039c62..17a172a4 100644 --- a/MobileGL/MG_Backend/DirectGLES/Managers.h +++ b/MobileGL/MG_Backend/DirectGLES/Managers.h @@ -2052,7 +2052,7 @@ namespace MobileGL::MG_Backend::DirectGLES { Bool IsDrawSyncClean(const MG_State::GLState::ITextureObject* t, Uint64 contextId, Uint64 samplingGeneration) const { -#if MOBILEGL_BUILD_RECORD_ARM +#if MOBILEGL_BUILD_DISAGGREGATED // A shared image's texels move with its producer's presents, which nothing here // sees: every use goes through SyncMipmapsToBackend's shared-image arm, which waits // for a write that landed since the last one (SharedImageImpl::AcquireForSampling).