This series addresses two cases in which a HW cursor cannot be used: 1) When a transform is active on a CRTC. Patch 2 adds a CRTC hook use_hw_cursor_argb, which allows drivers to force SW cursor on a per-CRTC basis. However, this hook alone could only force SW cursor as of the next time a new cursor image is set. The xf86CursorResetCursor function added in patch 1 allows switching between HW cursor and SW cursor immediately.
2) When a GPU screen is acting as an output slave for another screen. There was already code in xf86CursorSetCursor for this case, but it again needs xf86CursorResetCursor to take effect immediately. A patch has been posted allowing HW cursor to be used in this case. I think the solution in this series is compatible with that patch. Patches 3 & 4 make the modesetting driver take advantage of the new functionality. As a bonus, CRTC transforms can now work correctly with the modesetting driver, so patch 5 makes them actually take effect. Once patches 1 & 2 land, I'll post patches corresponding to 3-5 for the xf86-video-ati driver to the xorg-driver-ati list. [PATCH xserver 1/5] xfree86: Add xf86CursorResetCursor [PATCH xserver 2/5] xfree86/modes: Add use_hw_cursor(_argb) CRTC [PATCH xserver 3/5] modesetting: Implement CRTC use_hw_cursor_argb [PATCH xserver 4/5] modesetting: Call xf86CursorResetCursor on [PATCH xserver 5/5] modesetting: Allow CRTC transforms to actually _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
