[Intel-gfx] [PATCH 3/3] uxa: Fix load_cursor_argb for the new Xorg ABI.

Eric Anholt eric at anholt.net
Thu Apr 10 00:24:23 CEST 2014


Returning an undefined value meant we might get sw cursors.
---
 src/uxa/intel_display.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/src/uxa/intel_display.c b/src/uxa/intel_display.c
index 39d8507..23eb2c7 100644
--- a/src/uxa/intel_display.c
+++ b/src/uxa/intel_display.c
@@ -606,6 +606,21 @@ intel_crtc_set_cursor_position (xf86CrtcPtr crtc, int x, int y)
 	drmModeMoveCursor(mode->fd, crtc_id(intel_crtc), x, y);
 }
 
+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,15,99,902,0)
+static Bool
+intel_crtc_load_cursor_argb(xf86CrtcPtr crtc, CARD32 *image)
+{
+	struct intel_crtc *intel_crtc = crtc->driver_private;
+	int ret;
+
+	ret = dri_bo_subdata(intel_crtc->cursor, 0, 64*64*4, image);
+	if (ret)
+		xf86DrvMsg(crtc->scrn->scrnIndex, X_ERROR,
+			   "failed to set cursor: %s\n", strerror(-ret));
+
+	return !ret;
+}
+#else
 static void
 intel_crtc_load_cursor_argb(xf86CrtcPtr crtc, CARD32 *image)
 {
@@ -617,6 +632,7 @@ intel_crtc_load_cursor_argb(xf86CrtcPtr crtc, CARD32 *image)
 		xf86DrvMsg(crtc->scrn->scrnIndex, X_ERROR,
 			   "failed to set cursor: %s\n", strerror(-ret));
 }
+#endif
 
 static void
 intel_crtc_hide_cursor(xf86CrtcPtr crtc)
-- 
1.9.1




More information about the Intel-gfx mailing list