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
|
|
@ -1,7 +1,6 @@
|
|||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
#include <unordered_map>
|
||||
#include "WaylandProtocol.hpp"
|
||||
#include "commit-timing-v1.hpp"
|
||||
|
||||
|
|
@ -14,16 +13,12 @@ class CEventLoopTimer;
|
|||
class CCommitTimerResource {
|
||||
public:
|
||||
CCommitTimerResource(UP<CWpCommitTimerV1>&& resource_, SP<CWLSurfaceResource> surface);
|
||||
~CCommitTimerResource();
|
||||
|
||||
bool good();
|
||||
|
||||
private:
|
||||
UP<CWpCommitTimerV1> m_resource;
|
||||
WP<CWLSurfaceResource> m_surface;
|
||||
bool m_timerPresent = false;
|
||||
std::optional<Time::steady_dur> m_pendingTimeout;
|
||||
SP<CEventLoopTimer> timer;
|
||||
UP<CWpCommitTimerV1> m_resource;
|
||||
WP<CWLSurfaceResource> m_surface;
|
||||
|
||||
struct {
|
||||
CHyprSignalListener surfaceStateCommit;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue