On Tue, Dec 05, 2023 at 04:52:06PM +0000, Simon Ser wrote: > > I think the logicvc is a much better example for this, since it requires > > framebuffers to be in a specific area, with each plane having a > > dedicated area. > > > > AFAIK that's the most extreme example we have upstream. > > That kind of restriction is not supported by generic user-space. As far > as user-space is concerned, scanout-capable buffers aren't tied to any > plane in particular. Generic user-space allocates via GBM or dumb > buffers, and at allocation time there is no hint about the plane the > buffer will be attached to. > > I'm personally not super excited/interested about supporting this kind > of weird setup which doesn't match the KMS uAPI. Yeah... I think if we ever come to this, we can support it in two ways: - Either we handle it like simpledrm and the like by allocating a buffer and then memcpy'ing it to the right place; - Or if it's not fast enough, we create a single heap for the entire device, and then create some dynamic association between the framebuffer and the (hardware) plane depending on where the plane is in that area. That would be quite difficult to get right but not impossible imo. Maxime
Attachment:
signature.asc
Description: PGP signature