In response to feedback, I've adjusted the new addfb2 ioctl to take per component pitch and offset args. Generally, the offset[0] field will be 0, but it's conceivable that some metadata could be stored at the start of a given buffer, and an offset[0] allows the client to skip past that. Similarly, pitch[0] will typically describe the whole buffer, but it's possible to simply string together several planes into a single object where individual pitch components matter.
Userland patches are available in the drm-overlays branches of my personal libdrm and xf86-video-intel trees at freedesktop.org. The xf86-video-intel side works well enough to handle clipping (using a new i915 specific ioctl for setting a destination color key) and play videos, albeit without nice flipping.
Assuming no major objections, I think this is finally ready for drm-next.
Thanks, Jesse