KMS cursor BO semantics
James Simmons
jsimmons at infradead.org
Fri Nov 11 10:17:53 PST 2011
> On Fri, Nov 04, 2011 at 11:30:06PM +0100, Thomas Hellstrom wrote:
> > I'm not sure whether / how you handle the case of hardware render to
> > cursor surfaces on i915, but it seems to me like if a lot of drivers
> > need to implement driver specific "tricks" to meet the semantics of
> > a generic interface, we should perhaps consider specifying those
> > semantics in a way that helps avoid driver-specific workarounds?
>
> We don't handle really hanlde rendering to cursor objects. I think the
> "require a set_cursor after every cursor bo change" semantic is good, I've
> just feared that when only vmgfx needs this, no generic kms user will
> actually implement it. But nouveau seems to require this too, so I think
> at least for this case reality (and generic kms clients) will play along.
I know this is a bit off topic but I see two approaches to the cursor api.
One is the nouveau method which is
...
drm_gem_object_lookup
internal_mmap gem object
copy to another internally allocated buffer objec
unmap gem object
drm_gem_object_unreference_unlocked
...
Or the radeon approach
...
drm_gem_object_lookup
gem_object_pin
program cursor location
gem_object_unpin
drm_gem_object_unreference_unlocked
...
What are the pros and cons to each method?
More information about the dri-devel
mailing list