On Thu 21 Dec 2017, Daniel Vetter wrote: > On Thu, Dec 21, 2017 at 12:22 AM, Kristian Kristensen <hoegsberg@xxxxxxxxxx> wrote: >> On Wed, Dec 20, 2017 at 12:41 PM, Miguel Angel Vico <mvicomoya@xxxxxxxxxx> wrote: >>> On Wed, 20 Dec 2017 11:54:10 -0800 Kristian Høgsberg <hoegsberg@xxxxxxxxx> wrote: >>>> I'd like to see concrete examples of actual display controllers >>>> supporting more format layouts than what can be specified with a 64 >>>> bit modifier. >>> >>> The main problem is our tiling and other metadata parameters can't >>> generally fit in a modifier, so we find passing a blob of metadata a >>> more suitable mechanism. >> >> I understand that you may have n knobs with a total of more than a total of >> 56 bits that configure your tiling/swizzling for color buffers. What I don't >> buy is that you need all those combinations when passing buffers around >> between codecs, cameras and display controllers. Even if you're sharing >> between the same 3D drivers in different processes, I expect just locking >> down, say, 64 different combinations (you can add more over time) and >> assigning each a modifier would be sufficient. I doubt you'd extract >> meaningful performance gains from going all the way to a blob. I agree with Kristian above. In my opinion, choosing to encode in modifiers a precise description of every possible tiling/compression layout is not technically incorrect, but I believe it misses the point. The intention behind modifiers is not to exhaustively describe all possibilites. I summarized this opinion in VK_EXT_image_drm_format_modifier, where I wrote an "introdution to modifiers" section. Here's an excerpt: One goal of modifiers in the Linux ecosystem is to enumerate for each vendor a reasonably sized set of tiling formats that are appropriate for images shared across processes, APIs, and/or devices, where each participating component may possibly be from different vendors. A non-goal is to enumerate all tiling formats supported by all vendors. Some tiling formats used internally by vendors are inappropriate for sharing; no modifiers should be assigned to such tiling formats. > Tegra just redesigned it's modifier space from an ungodly amount of > bits to just a few layouts. Not even just the ones in used, but simply > limiting to the ones that make sense (there's dependencies apparently) > Also note that the modifier alone doesn't need to describe the layout > precisely, it only makes sense together with a specific pixel format > and size. E.g. a bunch of the i915 layouts change layout depending > upon bpp. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel