[RFC 00/16] DRI4096: modifiers and multi-plane

Daniel Stone daniels at collabora.com
Thu Jun 8 18:43:26 UTC 2017


Hi,
No, not really; DRI3 v1.1 will suffice.

This doesn't change anything fundamental about DRI3 right now, but
moves from a single plane with only depth/bpp to describe the format,
to multiple planes with a full FourCC format code as well as a DRM
buffer modifier. This allows exotic tiling modes without the need for
kernel-mediated magic backchannels, as well as auxiliary planes for,
e.g., compression.

An accompanying Mesa patch series will be winging its way to the list
shortly, but in the meantime you can use these Git trees, all of them
with the wip/2017-05/dri3-v1.1 branch:

git://git.collabora.com/git/user/daniels/xcb-proto
  - contains support for lists of FDs, as well as the protocol itself
git://git.collabora.com/git/user/daniels/libxcb
  - support for lists of FDs
git://git.collabora.com/git/user/daniels/dri3proto
  - what it says on the box
git://git.collabora.com/git/user/daniels/mesa
  - supports this in EGL and GLX (generically) plus Vulkan (ANV only)
  - includes this patchset to enable modifier import/queries on i965:
    https://lists.freedesktop.org/archives/mesa-dev/2017-June/158092.html
git://git.collabora.com/git/user/daniels/xserver
  - this patchset

The supporting XCB series is available at:
https://lists.freedesktop.org/archives/xcb/2017-June/011025.html

I'm sending this series on behalf of Louis-Francis Ratté-Boulianne,
who did all the xserver work apart from typing out the skeleton protcol
as well as much of the Mesa work, but is somewhere in the Adirondack
mountains at the moment. It definitely has some bugs, and the server
code could be sequenced a little more gently; open to suggestion as to
what ordering/split would be best.

Bugs and rough edges aside, it would be nice to hear if this is a good
direction to take, and specifically if it's the right way to be plumbing
things through Glamor. This was tested on a Skylake system, which gained
Y-tiling support for EGL, GLX and Vulkan clients with the Mesa patches.
It also works with Y-tiled CCS (the two-plane testcase) when the
relevant Mesa patches are applied, but I've dropped those from my Mesa
submission to detangle things a little.

Thanks also to Intel for sponsoring this work.

Cheers,
Daniel



More information about the xorg-devel mailing list