[RFC] drm: add overlays as first class KMS objects
alexdeucher at gmail.com
Mon Apr 25 17:28:20 PDT 2011
On Mon, Apr 25, 2011 at 7:22 PM, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> On Mon, 25 Apr 2011 16:16:18 -0700
> Keith Packard <keithp at keithp.com> wrote:
>> On Mon, 25 Apr 2011 15:12:20 -0700, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
>> > Overlays are a bit like half-CRTCs. They have a location and fb, but
>> > don't drive outputs directly. Add support for handling them to the core
>> > KMS code.
>> Are overlays/underlays not associated with a specific CRTC? To my mind,
>> overlays are another scanout buffer associated with a specific CRTC, so
>> you'd create a scanout buffer and attach that to a specific scanout slot
>> in a crtc, with the 'default' slot being the usual graphics plane.
> Yes, that matches my understanding as well. I've deliberately made the
> implementation flexible there though, under the assumption that some
> hardware allows a plane to be directed at more than one CRTC (though
> probably not simultaneously).
A lot of older hardware had one overlay that could be sourced to any
crtc, just not simultaneously. The tricky part is the formats and
capabilities: alpha blending, color/chromakey, gamma correction, etc.
Even the current crtc gamma stuff is somewhat lacking in in terms of
what hardware is capable of (PWL vs. LUT, user defined conversion
matrices, gamut remapping, etc.).
More information about the dri-devel