DRM planes and new fb creation ioctl

Jesse Barnes jbarnes at virtuousgeek.org
Tue Oct 25 02:46:55 PDT 2011

I've given up waiting for someone to implement support for these ioctls
on another platform before they're merged, but I have received a lot of
feedback on the interfaces, and it sounds like they're ok.  I've also
fixed all the remaining issues I'm aware of on SNB platforms and things
are working well, so I'm just going to push them out.  (Note IVB support
is still missing a few bits for scaling and such; I'll fix those up when
I get back home and can test on IVB again.)

One change you may notice from the last set is that I've removed the
'zpos' parameter.  Plane blending and z ordering is very chipset
specific (it even varies between Intel chipsets), so exposing it through
a device specific ioctl is probably a better plan.  By default, planes
should just overlay the primary plane; a device specific ioctl (none
available yet, but I have some planned for i915) can provide more

To recap previous posts, this patchset provides a few new interfaces:
  - addfb2 - a new FB creation ioctl that lets you specify a surface
    format, as defined by a fourcc code from the video4linux headers
    (libdrm will wrap these in DRM_ macros for portability)
  - planes - ioctls for fetching plane info and attaching an fb to a
    plane; note there's no separate flip ioctl for planes, just use
    setplane to update the fb

The testdisplay.c program in intel-gpu-tools has support for testing
these interfaces, and I'll be fixing up and pushing the
xf86-video-intel support soon as well, so you can use either as a
reference for how the new interfaces work.


More information about the dri-devel mailing list