[haiku-development] Hardware cursor help needed, radeon_hd or VESA or both

  • From: looncraz <looncraz@xxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 25 Nov 2012 20:58:44 -0800

I have put in a little work looking at hardware cursor support and may well have it working - if only I had a driver capable of letting me test it ;-)


The radeon_hd driver seems to work perfectly well on my Radeon 6870, so adding hardware cursor support using the original accelerant method (set_cursor_shape) would be helpful, but we also need to expand with a new hook to support bitmap cursors.

I believe the hook as follows should suffice for adding hardware bitmap cursor support to app_server accelerants:

hook constant: B_SET_CURSOR_BITMAP
---------hook method:-----------
status_t    set_cursor_bitmap
    (   uint16 width,
         uint16 height,
         uint16 hotSpotX,
        uint16 hotSpotY,
        uint16 bytesPerRow,
        uint8* bitmapData    );
---------------------------------------

Feel free to modify or amend as needed. If necessary, I can publish a patch for app_server which tries to use the code, but it is wholly untested.

Next up is the VESA driver. VESA 2.0 specifies "Function 12h" for hardware cursor support but I am unable to find any more information about it than that. If anyone knows how to get hardware cursor working in VESA mode, that would be ideal for testing within emulated environments.

Thanks in advance!

--The loon

Other related posts: