[Git][xorg-team/lib/libdrm][debian-unstable] 8 commits: omap: stop including linux/types.h

"Timo Aaltonen (@tjaalton)" <[email protected]> Wed, 24 Jun 2026 09:01:18 +0000
Newsgroups gmane.linux.debian.devel.x
Message-ID <[email protected]>

Timo Aaltonen pushed to branch debian-unstable at X Strike Force / lib / libdrm


Commits:
7f86e451 by Samuel Pitoiset at 2026-04-27T18:23:04+02:00
omap: stop including linux/types.h

Nothing uses __u32 and friends, so it should be safe to remove.

Signed-off-by: Samuel Pitoiset <[email protected]>

- - - - -
b8b7c57c by Samuel Pitoiset at 2026-04-27T18:23:20+02:00
meson: do not mark exynos/omap/tegra as disabled features

Otherwise, using `--auto-features=enabled` wouldn't work because it
only "forces" auto options to be enabled.

This will enable these backends in CI to catch possible build errors.

Closes: https://gitlab.freedesktop.org/mesa/libdrm/-/work_items/128
Signed-off-by: Samuel Pitoiset <[email protected]>

- - - - -
264c2dea by Simon Ser at 2026-05-14T15:19:21+02:00
Sync drm_fourcc.h with drm-next

Generated using make headers_install
Generated from drm-next branch commit 565626e74db94686f2389cbdea845891f468f044

Signed-off-by: Simon Ser <[email protected]>

- - - - -
e984d448 by Simon Ser at 2026-05-29T10:49:42+02:00
build: bump version to 2.4.134

Signed-off-by: Simon Ser <[email protected]>

- - - - -
1815323c by Alessandro Astone at 2026-06-24T10:57:02+03:00
d/control: libdrm-dev depends on libdrm-intel1 on arm64

The intel build was enabled for arm64, but installing libdrm-dev would leave
a dangling dev symlink.

- - - - -
ce5f6232 by Timo Aaltonen at 2026-06-24T10:57:18+03:00
Merge branch 'upstream-unstable' into debian-unstable

- - - - -
d83e7ecf by Timo Aaltonen at 2026-06-24T10:57:31+03:00
version bump

- - - - -
1273897a by Timo Aaltonen at 2026-06-24T11:04:48+03:00
Enable freedreno on amd64

- - - - -


7 changed files:

- debian/changelog
- debian/control
- debian/rules
- include/drm/drm_fourcc.h
- meson.build
- meson_options.txt
- omap/omap_drm.c


Changes:

=====================================
debian/changelog
=====================================
@@ -1,12 +1,16 @@
-libdrm (2.4.133-1) UNRELEASED; urgency=medium
+libdrm (2.4.134-1) UNRELEASED; urgency=medium
 
   [ Timo Aaltonen ]
   * New upstream release.
+  * Enable freedreno on amd64
 
   [ Diederik de Haas ]
   * control: Update upstream Homepage URL
 
- -- Timo Aaltonen <[email protected]>  Tue, 03 Feb 2026 13:43:15 +0100
+  [ Alessandro Astone ]
+  * d/control: libdrm-dev depends on libdrm-intel1 on arm64
+
+ -- Timo Aaltonen <[email protected]>  Wed, 24 Jun 2026 10:56:49 +0300
 
 libdrm (2.4.131-1) unstable; urgency=medium
 


=====================================
debian/control
=====================================
@@ -24,12 +24,12 @@ Section: libdevel
 Architecture: linux-any hurd-any
 Depends:
  libdrm2 (= ${binary:Version}),
- libdrm-intel1 (= ${binary:Version}) [amd64 i386 hurd-i386 x32 riscv64 loong64],
+ libdrm-intel1 (= ${binary:Version}) [amd64 arm64 i386 hurd-i386 x32 riscv64 loong64],
  libdrm-radeon1 (= ${binary:Version}),
  libdrm-nouveau2 (= ${binary:Version}) [linux-any],
  libdrm-amdgpu1 (= ${binary:Version}),
  libdrm-omap1 (= ${binary:Version}) [any-arm],
- libdrm-freedreno1 (= ${binary:Version}) [any-arm arm64],
+ libdrm-freedreno1 (= ${binary:Version}) [amd64 any-arm arm64],
  libdrm-exynos1 (= ${binary:Version}) [any-arm],
  libdrm-tegra0 (= ${binary:Version}) [any-arm arm64],
  libdrm-etnaviv1 (= ${binary:Version}) [armhf arm64],
@@ -159,7 +159,7 @@ Description: Userspace interface to omap-specific kernel DRM services -- runtime
  OpenGL drivers.
 
 Package: libdrm-freedreno1
-Architecture: any-arm arm64
+Architecture: amd64 any-arm arm64
 Depends:
  ${shlibs:Depends},
  ${misc:Depends},


=====================================
debian/rules
=====================================
@@ -76,8 +76,8 @@ else
 	confflags += -Dtegra=disabled
 endif
 
-# Freedreno is on arm and arm64
-ifneq (,$(filter arm arm64,$(DEB_HOST_ARCH_CPU)))
+# Freedreno is on amd64, arm and arm64
+ifneq (,$(filter amd64 arm arm64,$(DEB_HOST_ARCH_CPU)))
 	FREEDRENO = yes
 endif
 ifeq ($(FREEDRENO), yes)


=====================================
include/drm/drm_fourcc.h
=====================================
@@ -1,24 +1,6 @@
+/* SPDX-License-Identifier: MIT */
 /*
  * Copyright 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
  */
 
 #ifndef DRM_FOURCC_H
@@ -242,9 +224,9 @@ extern "C" {
  * [31:0] sign:exponent:mantissa 1:8:23
  */
 #define DRM_FORMAT_R32F          fourcc_code('R', ' ', ' ', 'F') /* [31:0] R 32 little endian */
-#define DRM_FORMAT_GR3232F       fourcc_code('G', 'R', ' ', 'F') /* [63:0] R:G 32:32 little endian */
-#define DRM_FORMAT_BGR323232F    fourcc_code('B', 'G', 'R', 'F') /* [95:0] R:G:B 32:32:32 little endian */
-#define DRM_FORMAT_ABGR32323232F fourcc_code('A', 'B', '8', 'F') /* [127:0] R:G:B:A 32:32:32:32 little endian */
+#define DRM_FORMAT_GR3232F       fourcc_code('G', 'R', ' ', 'F') /* [63:0] G:R 32:32 little endian */
+#define DRM_FORMAT_BGR323232F    fourcc_code('B', 'G', 'R', 'F') /* [95:0] B:G:R 32:32:32 little endian */
+#define DRM_FORMAT_ABGR32323232F fourcc_code('A', 'B', '8', 'F') /* [127:0] A:B:G:R 32:32:32:32 little endian */
 
 /*
  * RGBA format with 10-bit components packed in 64-bit per pixel, with 6 bits
@@ -264,6 +246,7 @@ extern "C" {
 #define DRM_FORMAT_XVUY8888	fourcc_code('X', 'V', 'U', 'Y') /* [31:0] X:Cr:Cb:Y 8:8:8:8 little endian */
 #define DRM_FORMAT_VUY888	fourcc_code('V', 'U', '2', '4') /* [23:0] Cr:Cb:Y 8:8:8 little endian */
 #define DRM_FORMAT_VUY101010	fourcc_code('V', 'U', '3', '0') /* Y followed by U then V, 10:10:10. Non-linear modifier only */
+#define DRM_FORMAT_XVUY2101010	fourcc_code('X', 'Y', '3', '0') /* [31:0] x:Cr:Cb:Y 2:10:10:10 little endian */
 
 /*
  * packed Y2xx indicate for each component, xx valid data occupy msb
@@ -379,6 +362,14 @@ extern "C" {
  */
 #define DRM_FORMAT_P030		fourcc_code('P', '0', '3', '0') /* 2x2 subsampled Cr:Cb plane 10 bits per channel packed */
 
+/*
+ * 2 plane YCbCr422.
+ * 3 10 bit components and 2 padding bits packed into 4 bytes.
+ * index 0 = Y plane, [31:0] x:Y2:Y1:Y0 2:10:10:10 little endian
+ * index 1 = Cr:Cb plane, [63:0] x:Cr2:Cb2:Cr1:x:Cb1:Cr0:Cb0 [2:10:10:10:2:10:10:10] little endian
+ */
+#define DRM_FORMAT_P230		fourcc_code('P', '2', '3', '0') /* 2x1 subsampled Cr:Cb plane 10 bits per channel packed */
+
 /* 3 plane non-subsampled (444) YCbCr
  * 16 bits per component, but only 10 bits are used and 6 bits are padded
  * index 0: Y plane, [15:0] Y:x [10:6] little endian
@@ -395,14 +386,23 @@ extern "C" {
  */
 #define DRM_FORMAT_Q401		fourcc_code('Q', '4', '0', '1')
 
+/*
+ * 3 plane non-subsampled (444) YCbCr LSB aligned
+ * 10 bpc, 30 bits per sample image data in a single contiguous buffer.
+ * index 0: Y plane,  [31:0] x:Y2:Y1:Y0    [2:10:10:10] little endian
+ * index 1: Cb plane, [31:0] x:Cb2:Cb1:Cb0 [2:10:10:10] little endian
+ * index 2: Cr plane, [31:0] x:Cr2:Cr1:Cr0 [2:10:10:10] little endian
+ */
+#define DRM_FORMAT_T430		fourcc_code('T', '4', '3', '0')
+
 /*
  * 3 plane YCbCr LSB aligned
  * In order to use these formats in a similar fashion to MSB aligned ones
  * implementation can multiply the values by 2^6=64. For that reason the padding
  * must only contain zeros.
  * index 0 = Y plane, [15:0] z:Y [6:10] little endian
- * index 1 = Cr plane, [15:0] z:Cr [6:10] little endian
- * index 2 = Cb plane, [15:0] z:Cb [6:10] little endian
+ * index 1 = Cb plane, [15:0] z:Cb [6:10] little endian
+ * index 2 = Cr plane, [15:0] z:Cr [6:10] little endian
  */
 #define DRM_FORMAT_S010	fourcc_code('S', '0', '1', '0') /* 2x2 subsampled Cb (1) and Cr (2) planes 10 bits per channel */
 #define DRM_FORMAT_S210	fourcc_code('S', '2', '1', '0') /* 2x1 subsampled Cb (1) and Cr (2) planes 10 bits per channel */
@@ -414,8 +414,8 @@ extern "C" {
  * implementation can multiply the values by 2^4=16. For that reason the padding
  * must only contain zeros.
  * index 0 = Y plane, [15:0] z:Y [4:12] little endian
- * index 1 = Cr plane, [15:0] z:Cr [4:12] little endian
- * index 2 = Cb plane, [15:0] z:Cb [4:12] little endian
+ * index 1 = Cb plane, [15:0] z:Cb [4:12] little endian
+ * index 2 = Cr plane, [15:0] z:Cr [4:12] little endian
  */
 #define DRM_FORMAT_S012	fourcc_code('S', '0', '1', '2') /* 2x2 subsampled Cb (1) and Cr (2) planes 12 bits per channel */
 #define DRM_FORMAT_S212	fourcc_code('S', '2', '1', '2') /* 2x1 subsampled Cb (1) and Cr (2) planes 12 bits per channel */
@@ -424,8 +424,8 @@ extern "C" {
 /*
  * 3 plane YCbCr
  * index 0 = Y plane, [15:0] Y little endian
- * index 1 = Cr plane, [15:0] Cr little endian
- * index 2 = Cb plane, [15:0] Cb little endian
+ * index 1 = Cb plane, [15:0] Cb little endian
+ * index 2 = Cr plane, [15:0] Cr little endian
  */
 #define DRM_FORMAT_S016	fourcc_code('S', '0', '1', '6') /* 2x2 subsampled Cb (1) and Cr (2) planes 16 bits per channel */
 #define DRM_FORMAT_S216	fourcc_code('S', '2', '1', '6') /* 2x1 subsampled Cb (1) and Cr (2) planes 16 bits per channel */
@@ -451,6 +451,16 @@ extern "C" {
 #define DRM_FORMAT_YUV444	fourcc_code('Y', 'U', '2', '4') /* non-subsampled Cb (1) and Cr (2) planes */
 #define DRM_FORMAT_YVU444	fourcc_code('Y', 'V', '2', '4') /* non-subsampled Cr (1) and Cb (2) planes */
 
+/*
+ * Y-only (greyscale) formats
+ *
+ * The Y-only formats are handled similarly to the YCbCr formats in the display
+ * pipeline, with the Cb and Cr implicitly neutral (0.0 in nominal values). This
+ * also means that COLOR_RANGE property applies to the Y-only formats.
+ */
+
+#define DRM_FORMAT_Y8		fourcc_code('G', 'R', 'E', 'Y')  /* 8-bit Y-only */
+#define DRM_FORMAT_XYYY2101010	fourcc_code('Y', 'P', 'A', '4')  /* [31:0] x:Y2:Y1:Y0 2:10:10:10 little endian */
 
 /*
  * Format Modifiers:
@@ -1422,6 +1432,22 @@ drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier)
 #define DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED \
 	DRM_FORMAT_MOD_ARM_CODE(DRM_FORMAT_MOD_ARM_TYPE_MISC, 1ULL)
 
+/*
+ * ARM 64k interleaved modifier
+ *
+ * This is used by ARM Mali v10+ GPUs. 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, which are
+ * themselves laid out linearly within a 64k tile. Then within each 16x16
+ * block, texel blocks are laid out according to U order, similar to
+ * 16X16_BLOCK_U_INTERLEAVED.
+ *
+ * Note that unlike 16X16_BLOCK_U_INTERLEAVED, the layout does not change
+ * depending on whether a format is compressed or not.
+ */
+#define DRM_FORMAT_MOD_ARM_INTERLEAVED_64K \
+	DRM_FORMAT_MOD_ARM_CODE(DRM_FORMAT_MOD_ARM_TYPE_MISC, 2ULL)
+
 /*
  * Allwinner tiled modifier
  *


=====================================
meson.build
=====================================
@@ -26,7 +26,7 @@
 project(
   'libdrm',
   ['c'],
-  version : '2.4.133',
+  version : '2.4.134',
   license : 'MIT',
   meson_version : '>= 0.59',
   default_options : ['buildtype=debugoptimized', 'c_std=c11'],


=====================================
meson_options.txt
=====================================
@@ -46,13 +46,11 @@ option(
 option(
   'omap',
   type : 'feature',
-  value : 'disabled',
   description : '''Enable support for OMAP's experimental KMS API.''',
 )
 option(
   'exynos',
   type : 'feature',
-  value : 'disabled',
   description : '''Enable support for EXYNOS's experimental KMS API.''',
 )
 option(
@@ -63,7 +61,6 @@ option(
 option(
   'tegra',
   type : 'feature',
-  value : 'disabled',
   description : '''Enable support for Tegra's experimental KMS API.''',
 )
 option(


=====================================
omap/omap_drm.c
=====================================
@@ -27,7 +27,6 @@
  */
 
 #include <stdlib.h>
-#include <linux/types.h>
 #include <errno.h>
 #include <sys/mman.h>
 #include <fcntl.h>



View it on GitLab: https://salsa.debian.org/xorg-team/lib/libdrm/-/compare/fb7284ebe640e74db98cc51a10719b5286542416...1273897acb1050498191fbfe085858a2eeed3266

-- 
View it on GitLab: https://salsa.debian.org/xorg-team/lib/libdrm/-/compare/fb7284ebe640e74db98cc51a10719b5286542416...1273897acb1050498191fbfe085858a2eeed3266
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help