tree 432875e91a232f4fcf8605fa6fc87c6836e4b4d0
parent c8e49491cccfc507edd6f80c683288b650e25a8f
author Steven Thomas <steventhomas@google.com> 1524178858 -0700
committer Steven Thomas <steventhomas@google.com> 1531875765 -0700

Pass onVsync() callbacks from vr flinger back to surface flinger

When vr flinger is active we weren't returning onVsync() callbacks to
surface flinger from vr_hwc, which caused surface flinger frame
scheduling to drift with respect to display vsync, causing system
latency and performance to be less predictable than expected. Since
actual display vsync periods are usually slightly different than the
reported vsync period from hardware composer, the lack of vsync feedback
would also cause surface flinger to occasionally either miss a frame or
produce an extra frame during a vsync period.

This CL adds a new vsync service in vr flinger. Vr_hwc registers to
receive vsync callbacks from that service, and it forwards the vsync
events on to surface flinger. I confirmed using systrace this fixes the
scheduling drift in surface flinger.

I also removed the old PDX vsync service, which exposed obsolete
information and is no longer used anywhere.

The DispSync code in surface flinger needed to be updated as
well. DispSync uses the hardware composer present fence timestamps to
make vsync predictions, and when the present fence-based prediction
is close enough to the actual vsync times, it turns off the vysnc
callbacks. However the present fences returned from vr_hwc are not
correlated in any way to vsync times, so I changed the code to ignore
present fences when vr flinger is active.

Bug: 72890037

Test: - Used systrace to confirm surface flinger scheduling no longer
drifts with respect to the real vsync.

- Added new traces to confirm the vsync callbacks don't take a lot of
  cpu time.

- Confirmed that hardware vsync events in surface flinger are turned off
  when DispSync's predictions align with the present fence timestamp, as
  was previously the case.

- Confirmed hardware vsync events in surface flinger are turned off when
  the display is turned off.

- Confirmed that hardware vsync events are turned off as normal even
  when the zero phase tracer is turned on in DispSync.cpp.

- Confirmed that when we enter vr flinger, we turn usage of the present
  fence off in DispSync, and when we exit vr flinger, we turn usage of
  the present fence back on.

- Confirmed that I can't bind to the new vsync service from a normal
  Android application, and system processes (other than vr_hwc) are
  prevented from connecting by selinux.

- All tests mentioned above were done on a Pixel 2 (non-XL).

Change-Id: Ie009040e125f4d31958a1575b2e2bbe3e601a0f4
