protocols: commit and presentation timing fixes (#13174)
* move commit timing fields to surface state * fix toTimespec init * update sendQueued api * update onPresented api * set zero copy flag * send clock id * move presented calcs inside condition * use only CLOCK_MONOTONIC for commit/presentation timings * fix setSetTimestamp * do not wait for commit timing while tearing * proto config * fix config defaults
This commit is contained in:
parent
407a623801
commit
ff061d177e
14 changed files with 107 additions and 64 deletions
|
|
@ -114,10 +114,12 @@ void CMonitor::onConnect(bool noRule) {
|
|||
ts = nullptr;
|
||||
}
|
||||
|
||||
if (!ts)
|
||||
PROTO::presentation->onPresented(m_self.lock(), Time::steadyNow(), event.refresh, event.seq, event.flags);
|
||||
else
|
||||
PROTO::presentation->onPresented(m_self.lock(), Time::fromTimespec(event.when), event.refresh, event.seq, event.flags);
|
||||
if (!ts) {
|
||||
timespec mono{};
|
||||
clock_gettime(CLOCK_MONOTONIC, &mono);
|
||||
PROTO::presentation->onPresented(m_self.lock(), mono, event.refresh, event.seq, event.flags & ~Aquamarine::IOutput::AQ_OUTPUT_PRESENT_HW_CLOCK);
|
||||
} else
|
||||
PROTO::presentation->onPresented(m_self.lock(), *ts, event.refresh, event.seq, event.flags);
|
||||
|
||||
if (m_zoomAnimFrameCounter < 5) {
|
||||
m_zoomAnimFrameCounter++;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue