Re: [PATCH] Add virtio gpu driver.
From: Gerd Hoffmann
Date: Tue May 31 2016 - 02:29:29 EST
Hi,
> > Why attach the hotspot to the plane? Wouldn't it make more sense to
> > make it a framebuffer property?
>
> We don't have properties on the framebuffer. I guess you /could/ just add
> it internally to struct drm_framebuffer, and not bother exposing to
> userspace. I guess that would be a lot simpler,
Yes. I can simply stick the hotspot into drm_framebuffer in
drm_mode_cursor_universal() and pick up the values in the driver's plane
update function.
> but it also means that
> atomic userspace can't use hotspots before we add properties to fbs. And
> doing that is a bit tricky since drm_framebuffer objects are meant to be
> invariant - this assumption is deeply in-grained into the code all over
> the place, everything just compares pointers when semantically it means to
> compare the entire fb (including backing storage pointer/offsets and
> everything).
Hmm, the hotspot location for a given cursor image is invariant too, so
I don't think that would be a big issue.
I'd expect userspace define a bunch of cursors, then switch between them
(instead of defining a single cursor, then constantly updating it).
cheers,
Gerd