Planes enumeration with sun4i-drm driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I'm looking at the sun4i DRM driver these days (especially for
mainlining the VPU tiled format support through the frontend).

The way things are done currently, all the possibly-supported plane
formats are listed in sun4i_backend_layer_formats and exposed as-is to
userspace for every plane. However, some of these formats cannot be
used on all planes at the same time and will be rejected when checking
the atomic commit.

I find this a bit confusing from a userspace perspective.

Not all constraints can be provided to userspace (e.g. the number of
planes we can effectively scale), but when it comes to formats, we have
that possibility. So perhaps it would make sense to only enumerate
formats as many times as we can support them.

For instance, it could look like:
# plane 0: primary, RGB only
# plane 1: overlay, RGB + backend YUV formats
# plane 2: overlay, RGB + frontend YUV formats
# plane 3: overlay, RGB only

That's not perfect either, because e.g. requesting a scaled RGB plane
will require the frontend and thus make it impossible to use the
frontend YUV formats that would still be described. But it feels like
it would be closer to representing hardware capabilities than our
current situation.

I am really not sure about the DRM subsystem policy about this, though.
Perhaps it was already decided that it's fine to deal with everything
at commit checking time and report more formats than the hardware can
really handle.

For sun8i and onwards, there is a clear separation between UI and video
planes in both the hardware and the code, so this problem doesn't occur
(only video planes are reported to support YUV).

What do you think?

Cheers,

Paul

-- 
Developer of free digital technology and hardware support.

Website: https://www.paulk.fr/
Coding blog: https://code.paulk.fr/
Git repositories: https://git.paulk.fr/ https://git.code.paulk.fr/

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux