[idd] scheduler: republish after owner subscription

Consume subscription notifications from the private owner queues. When
any lane gains a subscriber, request a retained-frame publication for
the current timing owner so a static desktop cannot leave it waiting.
This commit is contained in:
Geoffrey McRae
2026-08-06 16:39:33 +10:00
parent 2ac49b6487
commit eaf8de5e1d
3 changed files with 25 additions and 0 deletions

View File

@@ -1410,6 +1410,15 @@ void CIndirectDeviceContext::LGMPTimer()
if (lgmpHostQueueNewSubs(m_frameQueue))
m_frameScheduler.NotifyPublisher();
bool ownerSubscribed = false;
for (unsigned queueIndex = 0;
queueIndex < LGMP_Q_FRAME_LEN;
++queueIndex)
ownerSubscribed |=
lgmpHostQueueNewSubs(m_frameOwnerQueue[queueIndex]) != 0;
if (ownerSubscribed)
m_frameScheduler.RequestRepublish();
ProcessFrameDeliveries();
if (lgmpHostQueueNewSubs(m_pointerQueue))