From: Alyssa Rosenzweig <alyssa@rosenzweig.io>
To: James Calligeros <jcalligeros99@gmail.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
asahi@lists.linux.dev,
Oliver Bestmann <oliver.bestmann@googlemail.com>,
sofus <sofus.c@icloud.com>, Janne Grunau <j@jannau.net>
Subject: Re: [PATCH v2] drm/fourcc: Add Apple Interchange layout format modifier
Date: Sun, 4 Oct 2026 09:32:48 -0400 [thread overview]
Message-ID: <asJVgFVWYzG0frrM@fedora> (raw)
In-Reply-To: <20261004-apple-interchange-modifier-v2-1-410a3d0541f6@gmail.com>
The one big missing piece here is how strides are defined. I assume from
context it's the same convention as GPU_TILED_COMPRESSED but this should
probably be spelled out.
Just adding a sentence "Strides follow the same convention
as DRM_FORMAT_MOD_APPLE_GPU_TILED." should be enough to define the uAPI
unambiguously here. With that it will be
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenz.ca>
Le Sun, Oct 04, 2026 at 10:42:29PM +1000, James Calligeros a écrit :
> Apple Interchange is a tiled and compressed image layout used
> for buffer exchange between Apple hardware blocks. It is
> similar to the already-supported GPU_TILED_COMPRESSED layout.
>
> Add a format modifier for Apple Interchange so that it can be
> used for buffer exchange.
>
> Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
> ---
> Changes in v2:
> - Fix typo
> - Link to v1: https://patch.msgid.link/20260831-apple-interchange-modifier-v1-1-5d6e27f9f308@gmail.com
>
> To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> To: Maxime Ripard <mripard@kernel.org>
> To: Thomas Zimmermann <tzimmermann@suse.de>
> To: David Airlie <airlied@gmail.com>
> To: Simona Vetter <simona@ffwll.ch>
> Cc: dri-devel@lists.freedesktop.org
> Cc: linux-kernel@vger.kernel.org
> ---
> include/uapi/drm/drm_fourcc.h | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h
> index a103fdc0b3a3..d304ee5c614c 100644
> --- a/include/uapi/drm/drm_fourcc.h
> +++ b/include/uapi/drm/drm_fourcc.h
> @@ -1626,6 +1626,26 @@ drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier)
> #define DRM_FORMAT_MOD_APPLE_GPU_TILED fourcc_mod_code(APPLE, 1)
> #define DRM_FORMAT_MOD_APPLE_GPU_TILED_COMPRESSED fourcc_mod_code(APPLE, 2)
>
> +/*
> + * Apple Interchange layout
> + *
> + * Apple Interchange is a compressed framebuffer format used exclusively for
> + * sharing buffers between hardware blocks (GPU, display controller, video
> + * codecs) on Apple platforms. It is similar to and uses the same compression
> + * scheme as GPU_TILED_COMPRESSED. There is no known uncompressed variant
> + * of Apple Interchange.
> + *
> + * Unlike the GPU layouts, tile size is not dependent on bit depth. RGB
> + * images and the chroma components of YUV images use 16x16 tiles. The
> + * luma component of YUV images uses 32x32 tiles. Compression tiles
> + * are once again 16x16 with 8 bytes of metadata per compression subtile.
> + *
> + * AGX has limited support for Apple Interchange. It cannot be used for Z/S
> + * buffers or array images, for example. It is intended for scanout buffer
> + * sharing only.
> + */
> +#define DRM_FORMAT_MOD_APPLE_INTERCHANGE fourcc_mod_code(APPLE, 3)
> +
> /*
> * AMD modifiers
> *
>
> ---
> base-commit: 08dbfad3f5040f5bdb6c529da20d6d4e81fefd72
> change-id: 20260830-apple-interchange-modifier-cbcc311c835d
>
> Best regards,
> --
> James Calligeros <jcalligeros99@gmail.com>
>
prev parent reply other threads:[~2026-10-04 13:32 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-04 12:42 [PATCH v2] drm/fourcc: Add Apple Interchange layout format modifier James Calligeros
2026-10-04 13:32 ` Alyssa Rosenzweig [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=asJVgFVWYzG0frrM@fedora \
--to=alyssa@rosenzweig.io \
--cc=airlied@gmail.com \
--cc=asahi@lists.linux.dev \
--cc=dri-devel@lists.freedesktop.org \
--cc=j@jannau.net \
--cc=jcalligeros99@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=oliver.bestmann@googlemail.com \
--cc=simona@ffwll.ch \
--cc=sofus.c@icloud.com \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.