[PATCH xserver] present: fix msc offset calculation in window mode
Roman Gilg
subdiff at gmail.com
Fri Apr 20 15:10:06 UTC 2018
Instead of getting the current msc value from the window, which might be
different to old one directly take the last saved msc value saved in
the window_priv struct.
Signed-off-by: Roman Gilg <subdiff at gmail.com>
---
present/present_wnmd.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/present/present_wnmd.c b/present/present_wnmd.c
index 72bda2f..80ffb01 100644
--- a/present/present_wnmd.c
+++ b/present/present_wnmd.c
@@ -518,8 +518,6 @@ present_wnmd_window_to_crtc_msc(WindowPtr window, RRCrtcPtr crtc, uint64_t windo
present_window_priv_ptr window_priv = present_get_window_priv(window, TRUE);
if (crtc != window_priv->crtc) {
- uint64_t old_ust, old_msc;
-
if (window_priv->crtc == PresentCrtcNeverSet) {
window_priv->msc_offset = 0;
} else {
@@ -527,10 +525,7 @@ present_wnmd_window_to_crtc_msc(WindowPtr window, RRCrtcPtr crtc, uint64_t windo
* we'll just use whatever previous MSC we'd seen from this CRTC
*/
- if (present_wnmd_get_ust_msc(window->drawable.pScreen, window, &old_ust, &old_msc) != Success)
- old_msc = window_priv->msc;
-
- window_priv->msc_offset += new_msc - old_msc;
+ window_priv->msc_offset += new_msc - window_priv->msc;
}
window_priv->crtc = crtc;
}
--
2.7.4
More information about the xorg-devel
mailing list