Disable 'skip buffers with identical release times' in GTS tests

This optimization always reports buffers as 'skipped' (i.e. deliberately
not shown), which makes sense for the target case of high FPS content on
a lower refresh rate screen, when lots of the frames will **never** be
shown.

However the optimization also results in reporting buffers as 'skipped'
when decoding is a bit slow, resulting in a frame being released one
vsync late, which then means we have two frames to release in the same
vsync (when the previous vsync was empty). In this case, it would be
more correct to report this as a 'dropped' frame (since it was due to
slow decoding).

Until we can change the logic to distinguish these cases and report them
separately, this CL disables the optimization completely in GTS tests.
This is needed because we often assert there were zero skipped frames,
so slight decoding slowness can cause spurious/flaky test failures (our
threshold for dropped frames is non-zero).

#minor-release

PiperOrigin-RevId: 600406443
This commit is contained in:
ibaker 2024-01-22 03:24:55 -08:00 committed by Copybara-Service
parent b84104e7a1
commit 999e154b2a

View File

@ -291,6 +291,13 @@ import java.util.ArrayList;
return false;
}
// TODO: b/321230611 - Remove this override when 'late' buffers that result in identical release
// timestamps are reported as 'dropped' instead of 'skipped'.
@Override
protected boolean shouldSkipBuffersWithIdenticalReleaseTime() {
return false;
}
private void clearTimestamps() {
startIndex = 0;
queueSize = 0;