mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-11-13 15:27:21 +00:00
[idd] transport: publish frame routes after ready
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user