[Mesa-dev] Intel: ABI for DRM format modifiers with multi-planar images

Yiwei Zhang zzyiwei at chromium.org
Wed Jun 9 23:14:00 UTC 2021


On Wed, Jun 9, 2021 at 2:19 PM Jason Ekstrand <jason at 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 <chad at 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


More information about the mesa-dev mailing list