Subject: Re: WSDISPLAYIO_SCURSOR
To: None <tech-kern@netbsd.org>
From: Andrew Doran <ad@netbsd.org>
List: tech-kern
Date: 03/26/2002 01:34:46
"Valeriy E. Ushakov" <uwe@ptc.spbu.ru> wrote:

> What is the semantic of WSDISPLAYIO_SCURSOR ioctl?  No man page even
> mentions it.  In particular what is the semantic of 'image' and 'mask'
> fields of struct wsdisplay_cursor?

Both are 1-bpp bitmaps. The image specifies which of two possible colors
(from the cursor color map) are displayed at any particular location, and
the mask specifies which parts of the resulting image should be imposed on
top of the frame buffer contents in the video output.

From what I can see, the typical use in the kernel implies that they are
both padded to a byte boundary on each scan line. Some drivers have their
own width/height constraints, but that's not currently reported.
 
> PS: Grepping through the tree it seems that only alpha's framebuffers
> and arm's vidcvideo and vax' smg implement this ioctl.  By chance,
> does authors of those drivers has any code to test the feature?

See xsrc/xc/programs/Xserver/hw/netbsd/dec/* for some code that uses the
hardware cursor. As it stands, some of the kernel drivers fail to set the
cursor properly, so a software cursor is used for those.

Andre