[idd] transport: publish frame routes after ready

This commit is contained in:
Geoffrey McRae
2026-10-01 08:32:24 +10:00
parent 437e19c13b
commit 70bbf180be

View File

@@ -713,6 +713,10 @@ bool CTransportManager::AddServices(Entry& entry)
if (frameBound) if (frameBound)
{ {
m_tex.Rebind(id, epoch); m_tex.Rebind(id, epoch);
CSRWSharedLock entryLock(entry.lock);
// A newly initialized entry is published after AddServices returns.
// Bumping earlier can let the frame graph permanently omit the route.
if (entry.state == State::READY)
BumpFrameRev(); BumpFrameRev();
} }
@@ -902,8 +906,14 @@ bool CTransportManager::SetupEntry(Entry& entry, size_t alignment)
return false; return false;
} }
bool frameReady;
{
CSRWExclusiveLock entryLock(entry.lock); CSRWExclusiveLock entryLock(entry.lock);
frameReady = entry.state != State::READY && entry.frameAdded;
entry.state = State::READY; entry.state = State::READY;
}
if (frameReady)
BumpFrameRev();
return true; return true;
} }