That's a reasonable plan for now. For LINEAR, X, and Y, the drmFormatModifierCount is the obvious value for the format. That's enough to satisfy all the needs of Chrome OS and its zoo of virtual machines. For simplicity, we can keep VK_FORMAT_FEATURE_DISJOINT_BIT disabled in drmFormatModifierTilingProperties for multi-planar formats. If we ever need to squeeze more performance out of shared media images, then we can start experiments on compressed modifiers and possibly work on defining the ABI (though, it's always better to have it defined before it's needed, due to Mesa and kernel release cycles).
On Wed, Jun 9, 2021, at 16:19, Jason Ekstrand wrote: > I should have said that the minimal support can be for LINEAR, X-tiled > and Y-tiled. CCS can and probably should come later. > > On Wed, Jun 9, 2021 at 6:14 PM Yiwei Zhang <zzyi...@chromium.org> wrote: > > > > On Wed, Jun 9, 2021 at 2:19 PM Jason Ekstrand <ja...@jlekstrand.net> wrote: > > > > > > +Nanley > > > > > > We've not defined those yet. We had some internal talks a couple > > > years ago. The rough idea we had at the time was to define a modifier > > > for those cases which put the CCS after each main surface at some > > > fixed calculation offset based on width, height, and stride. Then the > > > one modifier would apply independently to the three different planes. > > > > > > --Jason > > > > > > On Wed, Jun 9, 2021 at 2:11 PM Chad Versace <c...@kiwitree.net> wrote: > > > > > > > > The Problem: For a given 3-tuple (multi-planar format, DRM format > > > > modifier, chipset), we need Intel ABI that decides (a) the value of > > > > VkDrmFormatModifierPropertiesEXT::drmFormatModifierPlaneCount and (b) > > > > the content of each "modifier" plane. > > > > > > > > For example, suppose drmFormatModifierPlaneCount is 2 for > > > > (VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, INTEL_FORMAT_MOD_FOO). Is the > > > > layout (plane1=g8, plane2=b8r8); or is it (plane1=g8_b8r8, plane2=aux)? > > > > The second choice isn't crazy; iirc, some non-Intel hardware (sorry, > > > > NDA) uses only 2 modifier planes for color-compressed 3-planar formats, > > > > with (plane1=r8_g8_b8, plane2=aux). > > > > > > > > I'm asking because Yiwei (cc'd) has begun implementing limited support > > > > for multi-planar formats in Anvil in order to pass the Android CTS. To > > > > support more media formats (for imminent Chrome OS projects and future > > > > vanilla Linux stuff too), we need to decide on some ABI. > > > > Hi, > > > > I have sent a > > MR(https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11281) > > to add the minimal multi-planar format support with drm format > > modifier, so that Venus Android AHB extension layered on top of ANV > > VK_EXT_image_drm_format_modifier implementation can pass all the > > interop graphics cts for camera and media. > > > > I'd be interested to follow up about the stable ABI for this to expand > > multi-planar support there. > > > > Best, > > Yiwei > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev