6f30764320
This more or less rewrites this test so that it explicitly tests the "interpolation" when a timeline loops, i.e. that if something occupies the thread when a timeline was supposed to have looped, we end up in the right place "in the middle" of the next timeline cycle. The test more or less does this: * Start a 3 second looping timeline * Sleep so that we're in the middle of the first cycle * Sleep again so that we end up in the middle of the next cycle The semantics checked are that we see the following frames: * The first frame with timestamp 0 * The second frame in the middle of the first cycle (timestamp ~= 1.5 sceonds) * The third frame in the end of the first cycle (timestamp == 3.0 seconds) * The fourth frame, first in the second cycle, with timestamp ~= 1.5 seconds) This means we can increase the "grace period" to the double (from 0.5 s to 1 s), while at the same time decrease the time spent running the test (from 10 s to 4.5 s). This should hopefully make the test less flaky, especially in slower runners, e.g. aarch64. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1751> |
||
---|---|---|
.. | ||
scripts | ||
actor-clone.c | ||
actor-destroy.c | ||
actor-graph.c | ||
actor-invariants.c | ||
actor-iter.c | ||
actor-layout.c | ||
actor-meta.c | ||
actor-offscreen-redirect.c | ||
actor-paint-opacity.c | ||
actor-pick.c | ||
actor-pivot-point.c | ||
actor-shader-effect.c | ||
actor-size.c | ||
binding-pool.c | ||
cally-text.c | ||
color.c | ||
frame-clock-timeline.c | ||
frame-clock.c | ||
interval.c | ||
meson.build | ||
path.c | ||
script-parser.c | ||
text-cache.c | ||
text.c | ||
texture-fbo.c | ||
timeline-interpolate.c | ||
timeline-progress.c | ||
timeline-rewind.c | ||
timeline.c | ||
units.c |