KMS cursor BO semantics
Thomas Hellstrom
thellstrom at vmware.com
Fri Nov 4 07:38:59 PDT 2011
On 11/04/2011 03:36 PM, Ilija Hadzic wrote:
>
>
> On Fri, 4 Nov 2011, Thomas Hellstrom wrote:
>
>> Hi.
>>
>> I have a question about the semantics of the DRM_IOCTL_MODE_CURSOR
>> iotcl:
>>
>> Some hardware (vmware's virtual in particular) may not be able to
>> pick up the changes from a bo directly, since the cursor data is sent
>> though the command stream. Hence we need a notification when the
>> cursor image has changed.
>>
>> Could we *require* that a cursor image change needs to be followed by
>> an ioctl call with the flag
>> DRM_MODE_CURSOR_BO?
>>
>> Thanks,
>> Thomas
>>
>
> FWIW, Acked-by: Ilija Hadzic <ihadzic at research.bell-labs.com>
> I have a few places where I could use such an ioctl.
>
Well, the idea was to reuse the DRM_IOCTL_MODE_CURSOR ictl that sets the
cursor BO, and require that it is re-emitted once the cursor image has
changed, since I guess that's what many X servers do anyway.
> BTW, Thomas, in the above "since the cursor data is sent though the
> command stream", did you mean "since the cursor data is *not* sent
> though the command stream". If it was sent, through command stream,
> then CS ioctl would know when the cursor changes.
I meant the device interface, not the drm interface. So when we have a
new cursor image, we need to collect the scanline data an send it
through the device command stream. We don't export that possibility in
the DRM interface.
>
> My understanding is that the cursor data are mmap-ed letting userland
> poke it at will (so the case when an "hourglass" changes into "arrow"
> is particularly hard to know that it happened).
Yes. Hardware that scan out directly from the cursor BO don't really
need to know, but we do.
>
> -- Ilija
Thanks,
/Thomas
More information about the dri-devel
mailing list