From: Ville Syrjälä <ville.syrj...@linux.intel.com>

Once we've switched to using the swcursor (possibly
due to the cursor ioctl failing) we currently keep
using the swcursor until the modeset.

That's not particularly great as the swcursor has several
issues. Apart from the (presumably expected) flicker,
the cursor also tends to leave horrible trails behind
around dri2/3 windows (happens with tearfree at least).

To avoid some of that let's try to switch back to the hwcursor
a bit sooner. We can do that neatly via the convenient swcursor
block handler.

v2 [ickle]: Apply the restoration after the screen update is complete.

References: https://bugs.freedesktop.org/show_bug.cgi?id=106935
Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
---
 src/sna/sna_display.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index fe67f85b6..0ea608cb6 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -9106,6 +9106,9 @@ void sna_mode_redisplay(struct sna *sna)
                return;
        }
 
+       /* Try to switch back to the HW cursor on the next cursor update */
+       sna->cursor.disable = false;
+
        if (!sna->mode.shadow_enabled)
                return;
 
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to