SurfaceFlinger: correct negative offset when refresh rate changes

VsyncModulator sets the phase offset on DispSync source only when it
changes. However, negative offsets depends on the vsync period so setting
the same negative offset might result in a different wake up time
i.e. -5ms on 60Hz is 11ms after the previous vsync where on 90Hz is
6ms after the previous vsync.

Test: UI-Bench
Bug: 135283780
Bug: 135297302
Change-Id: I6a05cd48d563a51d2ee38927c23d4946dd142f4b
3 files changed