mirror-linux/include/uapi/drm
Caterina Shablia 3aecd55af5 drm: add ARM interleaved 64k modifier
This modifier is primarily intended to be used by panvk to implement
sparse partially-resident images with better map and unmap
performance, and no worse access performance, compared to
implementing them in terms of U-interleaved.

With this modifier, the plane is divided into 64k byte 1:1 or 2:1
-sided tiles. The 64k tiles are laid out linearly. Each 64k tile
is divided into blocks of 16x16 texel blocks each, which themselves
are laid out linearly within a 64k tile. Then within each such
16x16 block, texel blocks are laid out according to U order,
similar to 16X16_BLOCK_U_INTERLEAVED.

Unlike 16X16_BLOCK_U_INTERLEAVED, the layout does not depend on
whether a format is compressed or not.

The hardware features corresponding to this modifier are available
starting with v10 (second gen Valhall.)

The corresponding panvk MR can be found at:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38986

Previous version:
https://lists.freedesktop.org/archives/dri-devel/2026-January/547072.html

No changes since v2

Changes since v1:

* Rewrite the description of the modifier to be hopefully unambiguous.

Signed-off-by: Caterina Shablia <caterina.shablia@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Link: https://patch.msgid.link/20260128184058.807213-1-caterina.shablia@collabora.com
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
2026-01-29 10:43:56 +01:00
..
amdgpu_drm.h drm/colorop: Add 3x4 CTM type 2025-11-26 23:03:33 +01:00
amdxdna_accel.h accel/amdxdna: Enable hardware context priority 2025-12-18 10:36:44 -08:00
armada_drm.h
asahi_drm.h drm: Add UAPI for the Asahi driver 2025-04-08 17:15:57 -04:00
drm.h drm/colorop: Introduce DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE 2025-11-26 23:03:32 +01:00
drm_fourcc.h drm: add ARM interleaved 64k modifier 2026-01-29 10:43:56 +01:00
drm_mode.h drm/connector: Add a new 'panel_type' property 2026-01-27 12:57:24 -06:00
drm_sarea.h
ethosu_accel.h accel: Add Arm Ethos-U NPU driver 2025-10-24 15:07:39 -05:00
etnaviv_drm.h Revert "drm/etnaviv: Expose a few more chipspecs to userspace" 2024-04-25 16:56:20 +02:00
exynos_drm.h
habanalabs_accel.h accel/habanalabs/gaudi2: add signed dev info uAPI 2023-12-19 11:09:43 +02:00
i915_drm.h drm/i915: Support replaying GPU hangs with captured context image 2024-05-16 07:37:05 +00:00
ivpu_accel.h accel/ivpu: Add support for userptr buffer objects 2025-10-30 08:52:51 +01:00
lima_drm.h
msm_drm.h drm/msm: Add VM_BIND ioctl 2025-07-04 17:48:38 -07:00
nouveau_drm.h drm/nouveau: use tile_mode and pte_kind for VM_BIND bo allocations 2024-05-13 22:27:33 +02:00
nova_drm.h drm: nova-drm: add initial driver skeleton 2025-05-12 20:48:15 +02:00
omap_drm.h
panfrost_drm.h drm/panfrost: Add flag to map GEM object Write-Back Cacheable 2025-12-09 13:09:37 +01:00
panthor_drm.h drm/panthor: Fix kerneldoc in uAPI header 2025-12-17 15:56:24 +00:00
pvr_drm.h drm/imagination: Numerous documentation fixes. 2023-11-28 18:56:03 +01:00
qaic_accel.h accel/qaic: Fix typo for struct qaic_manage_trans_passthrough 2024-12-13 08:55:09 -07:00
qxl_drm.h
radeon_drm.h
rocket_accel.h accel/rocket: rocket_accel.h: fix kernel-doc warnings 2026-01-10 17:49:15 +01:00
tegra_drm.h
v3d_drm.h drm/v3d: Add parameter to retrieve the number of GPU resets per-fd 2025-07-17 11:17:32 -03:00
vc4_drm.h
vgem_drm.h
virtgpu_drm.h drm/virtio: Add capset definitions to UAPI 2025-03-28 04:53:51 +03:00
vmwgfx_drm.h drm/vmwgfx: Add SPDX header to vmwgfx_drm.h 2024-01-30 14:18:19 -05:00
xe_drm.h drm/xe/uapi: Hide the madvise autoreset behind a VM_BIND flag 2025-10-20 17:03:44 -07:00