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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx