diff options
| author | Berke Güzel <wenekar1@gmail.com> | 2026-10-12 00:09:38 +0300 |
|---|---|---|
| committer | Berke Güzel <wenekar1@gmail.com> | 2026-10-12 00:09:38 +0300 |
| commit | 624d1371304a5ae4b3429ad5e4267aac7cd03dfd (patch) | |
| tree | 32de069f6eec83686521fc4bf39cc9874b123e93 /include/yasl/timing.h | |
| parent | e813252e685d761235ad45e170d97c9375f51958 (diff) | |
missing impls and hardening
Diffstat (limited to 'include/yasl/timing.h')
| -rw-r--r-- | include/yasl/timing.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/yasl/timing.h b/include/yasl/timing.h index 7c66967..85f305d 100644 --- a/include/yasl/timing.h +++ b/include/yasl/timing.h @@ -15,11 +15,20 @@ struct yasl_resize_stats { long minflt; }; +/* Describes last_present_ns, not merely availability of an extension. */ +enum yasl_timing_source { + YASL_TIMING_UNKNOWN = 0, + YASL_TIMING_SUBMISSION, /* CPU submission time; not scanout confirmation */ + YASL_TIMING_FRAME_CALLBACK, /* compositor pacing callback, not scanout */ + YASL_TIMING_PRESENTATION, /* compositor-confirmed presentation */ +}; + struct yasl_timing { double refresh_ns; uint64_t last_present_ns; uint64_t next_present_ns; uint64_t frames_skipped; + enum yasl_timing_source source; struct yasl_resize_stats resize; }; @@ -33,6 +42,7 @@ struct yasl_frame_clock { long resize_minflt; uint64_t frame_time_ns; double refresh_ns; + enum yasl_timing_source source; }; uint64_t yasl_clock_extend_ms(uint32_t ms, uint64_t now_ns); |
