File U_sna-Recompute-the-cursor-after-a-modeset.patch of Package xf86-video-intel.6276
From 01114334dd893863ad4bbe72fc94a278aa36bfa5 Mon Sep 17 00:00:00 2001
From: Chris Wilson <chris@chris-wilson.co.uk>
Date: Tue, 15 Nov 2016 21:58:26 +0000
Subject: [PATCH] sna: Recompute the cursor after a modeset
As a modeset may adjust the rotation or the transform of the cursor, we
may need to recompute the cursor image afterwards.
Reported-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
src/sna/sna_display.c | 7 +++++++
1 file changed, 7 insertions(+)
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -2707,6 +2707,13 @@ static void sna_crtc_randr(xf86CrtcPtr c
} else
crtc->transform_in_use = sna_crtc->rotation != RR_Rotate_0;
+ /* Recompute the cursor after a potential change in transform */
+ if (sna_crtc->cursor) {
+ assert(sna_crtc->cursor->ref > 0);
+ sna_crtc->cursor->ref--;
+ sna_crtc->cursor = NULL;
+ }
+
if (needs_transform) {
sna_crtc->hwcursor = is_affine(&f_fb_to_crtc);
sna_crtc->cursor_transform =