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 =
openSUSE Build Service is sponsored by