mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-11-07 01:53:24 +09:00
[Refactor] (P13 W5 S3): Espryt's shared-image checks stay on the transport guard.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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).
|
||||
|
||||
Reference in New Issue
Block a user