From 9b57d077fd0d428a7507ae11af0922a4719e92f9 Mon Sep 17 00:00:00 2001 From: Ward from fusion-voyager-3 Date: Sun, 15 Sep 2024 17:35:37 +0300 Subject: [PATCH] update debian control --- debian/control | 319 ++++++------------ debian/control.in | 292 +++++----------- debian/libgbm1.lintian-overrides | 2 +- debian/mesa-drm-shim.lintian-overrides | 4 + debian/mesa-drm-shim.triggers | 1 + debian/mesa-libgallium.install | 1 + debian/mesa-libgallium.lintian-overrides | 1 + debian/mesa-opencl-icd.lintian-overrides | 6 +- debian/mesa-teflon-delegate.install | 1 + debian/mesa-vulkan-drivers.lintian-overrides | 11 +- debian/rules | 95 ++++-- ...04_aco:_Limit_rt_stages_to_128_vgprs.patch | 44 --- patches/series | 4 - 13 files changed, 267 insertions(+), 514 deletions(-) create mode 100644 debian/mesa-drm-shim.lintian-overrides create mode 100644 debian/mesa-drm-shim.triggers create mode 100644 debian/mesa-libgallium.install create mode 100644 debian/mesa-libgallium.lintian-overrides create mode 100644 debian/mesa-teflon-delegate.install delete mode 100644 patches/0004_aco:_Limit_rt_stages_to_128_vgprs.patch diff --git a/debian/control b/debian/control index 7b8d28d..3391550 100644 --- a/debian/control +++ b/debian/control @@ -7,21 +7,23 @@ Uploaders: Ki'Sak Standards-Version: 4.1.4 Build-Depends: debhelper-compat (= 13), - directx-headers-dev (>= 1.610.0) [linux-amd64 linux-arm64], - glslang-tools [amd64 arm64 armel armhf i386 loong64 powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], - meson (>= 1.3.1), + directx-headers-dev (>= 1.613.0) [linux-amd64 linux-arm64], + flatbuffers-compiler [linux-arm64], + glslang-tools [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + meson (>= 1.4.0), quilt (>= 0.63-8.2~), - pkg-config, - libdrm-dev (>= 2.4.119), + pkgconf, + libdrm-dev (>= 2.4.121), libx11-dev, libxxf86vm-dev, libexpat1-dev, + libflatbuffers-dev [linux-arm64], libsensors-dev [!hurd-any], libxfixes-dev, libxext-dev, libva-dev (>= 1.6.0) [linux-any] , - libvdpau-dev (>= 1.1.1) [linux-any], - libvulkan-dev [amd64 arm64 armel armhf i386 loong64 powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + libvdpau-dev (>= 1.5) [linux-any], + libvulkan-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], x11proto-dev, linux-libc-dev (>= 2.6.31) [linux-any], libx11-xcb-dev, @@ -35,30 +37,36 @@ Build-Depends: libxcb-sync-dev, libxrandr-dev, libxshmfence-dev (>= 1.1), + libxtensor-dev [linux-arm64], libzstd-dev, python3, python3-mako, python3-ply, + python3-yaml, python3-pycparser [arm64 armhf], python3-setuptools, flex, bison, - libelf-dev [amd64 arm64 armel armhf i386 loong64 powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + libelf-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], libwayland-dev (>= 1.15.0) [linux-any], libwayland-egl-backend-dev (>= 1.15.0) [linux-any], - llvm-17-dev [amd64 arm64 armel armhf i386 loong64 powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], - libclang-17-dev [amd64 arm64 armel armhf i386 loong64 powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], - libclang-cpp17-dev [amd64 arm64 armel armhf i386 loong64 powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], - libclc-17-dev [amd64 arm64 armel armhf i386 loong64 powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], - wayland-protocols (>= 1.24), + llvm-17-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + libclang-17-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + libclang-cpp17-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + libclc-17-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + libclc-17 [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + wayland-protocols (>= 1.34), zlib1g-dev, libglvnd-core-dev (>= 1.3.2), valgrind [amd64 arm64 armhf i386 mips64el powerpc ppc64 ppc64el s390x], - rustc [amd64 arm64 armel armhf loong64 powerpc ppc64 ppc64el riscv64 s390x x32], - bindgen (>= 0.66.1~) [amd64 arm64 armel armhf loong64 powerpc ppc64 ppc64el riscv64 s390x x32], - llvm-spirv-17 [amd64 arm64 armel armhf loong64 powerpc ppc64 ppc64el riscv64 s390x x32], - libclc-17 [amd64 arm64 armel armhf loong64 powerpc ppc64 ppc64el riscv64 s390x x32], - libllvmspirvlib-17-dev [amd64 arm64 armel armhf i386 loong64 powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + rustc (>= 1.73) [amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], + rustfmt [amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], + bindgen (>= 0.66.1~) [amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], + cbindgen [amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], + llvm-spirv-17 [amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], + libllvmspirvlib-17-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + librust-paste-dev [amd64 arm64 armhf ppc64 riscv64 x32], + librust-syn-dev [amd64 arm64 armhf ppc64 riscv64 x32], Rules-Requires-Root: no Vcs-Git: https://salsa.debian.org/xorg-team/lib/mesa.git Vcs-Browser: https://salsa.debian.org/xorg-team/lib/mesa @@ -67,101 +75,24 @@ Homepage: https://mesa3d.org/ Package: libxatracker2 Section: libs Architecture: amd64 i386 x32 -Depends: libmesa-stable, +Depends: ${shlibs:Depends}, ${misc:Depends}, Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same -Conflicts: libxatracker2-git -Replaces: libxatracker2-git Description: X acceleration library -- runtime This package contains the XA (X acceleration) library. It is used exclusively by the X server to do render, copy and video acceleration. . XA is intended to be used by the vmware driver for virtualized X acceleration. - -Package: mesa-stable -Section: libs -Architecture: any -Depends: libmesa-stable, - ${shlibs:Depends}, - ${misc:Depends}, - mesa-stable:i386 (= ${binary:Version}) [amd64], - mesa-stable:amd64 (= ${binary:Version}) [i386], - libd3dadapter9-mesa (= ${binary:Version}), - libegl-mesa0 (= ${binary:Version}), - libegl1-mesa-dev (= ${binary:Version}), - libegl1-mesa (= ${binary:Version}), - libgbm-dev (= ${binary:Version}), - libgbm1 (= ${binary:Version}), - libgl1-mesa-dri (= ${binary:Version}), - libgl1-mesa-glx (= ${binary:Version}), - libglapi-mesa (= ${binary:Version}), - libgles2-mesa (= ${binary:Version}), - libglx-mesa0 (= ${binary:Version}), - libosmesa6 (= ${binary:Version}), - libxatracker2 (= ${binary:Version}), - mesa-common-dev (= ${binary:Version}), - mesa-va-drivers (= ${binary:Version}), - mesa-vdpau-drivers (= ${binary:Version}), - mesa-vulkan-drivers (= ${binary:Version}), -Pre-Depends: ${misc:Pre-Depends} -Conflicts: mesa-hybrid, mesa-git, mesa-custom, mesa-hybrid-no-march, mesa-stable-no-march, mesa-git-no-march, mesa-custom-no-march -Replaces: mesa-hybrid, mesa-git, mesa-custom, mesa-hybrid-no-march, mesa-stable-no-march, mesa-git-no-march, mesa-custom-no-march -Multi-Arch: same -Description: a meta package to install the latest stable version of mesa. - -Package: mesa-stable-no-march -Section: libs -Architecture: any -Depends: libmesa-stable, - ${shlibs:Depends}, - ${misc:Depends}, - libd3dadapter9-mesa (= ${binary:Version}), - libegl-mesa0 (= ${binary:Version}), - libegl1-mesa-dev (= ${binary:Version}), - libegl1-mesa (= ${binary:Version}), - libgbm-dev (= ${binary:Version}), - libgbm1 (= ${binary:Version}), - libgl1-mesa-dri (= ${binary:Version}), - libgl1-mesa-glx (= ${binary:Version}), - libglapi-mesa (= ${binary:Version}), - libgles2-mesa (= ${binary:Version}), - libglx-mesa0 (= ${binary:Version}), - libosmesa6 (= ${binary:Version}), - libxatracker2 (= ${binary:Version}), - mesa-common-dev (= ${binary:Version}), - mesa-va-drivers (= ${binary:Version}), - mesa-vdpau-drivers (= ${binary:Version}), - mesa-vulkan-drivers (= ${binary:Version}), -Pre-Depends: ${misc:Pre-Depends} -Conflicts: mesa-hybrid, mesa-git, mesa-custom, mesa-hybrid-no-march, mesa-stable, mesa-git-no-march, mesa-custom-no-march -Replaces: mesa-hybrid, mesa-git, mesa-custom, mesa-hybrid-no-march, mesa-stable, mesa-git-no-march, mesa-custom-no-march -Provides: mesa-stable -Description: a meta package to install the latest stable version of mesa (no Multi-Arch Support). - -Package: libmesa-stable -Section: libs -Architecture: any -Depends: - ${shlibs:Depends}, - ${misc:Depends}, -Pre-Depends: ${misc:Pre-Depends} -Conflicts: libmesa-hybrid, libmesa-git, libmesa-custom -Replaces: libmesa-hybrid, libmesa-git, libmesa-custom -Multi-Arch: same -Description: mesa stable core. - Package: libxatracker-dev Section: libdevel Architecture: amd64 i386 x32 -Depends: libmesa-stable, +Depends: libxatracker2 (= ${binary:Version}), ${misc:Depends}, Multi-Arch: same -Conflicts: libxatracker-git-dev -Replaces: libxatracker-git-dev Description: X acceleration library -- development files This package contains the XA (X acceleration) library. It is used exclusively by the X server to do render, copy and video acceleration. @@ -173,10 +104,8 @@ Description: X acceleration library -- development files Package: libd3dadapter9-mesa Section: libs -Architecture: amd64 arm64 armel armhf i386 powerpc -Conflicts: libd3dadapter9-mesa-git -Replaces: libd3dadapter9-mesa-git -Depends: libmesa-stable, +Architecture: amd64 arm64 armel armhf i386 +Depends: ${shlibs:Depends}, ${misc:Depends}, libudev1 [linux-any], @@ -189,15 +118,13 @@ Description: state-tracker for Direct3D9 Package: libd3dadapter9-mesa-dev Section: libdevel -Architecture: amd64 arm64 armel armhf i386 powerpc -Depends: libmesa-stable, +Architecture: amd64 arm64 armel armhf i386 +Depends: libd3dadapter9-mesa (= ${binary:Version}), libudev1 [linux-any], ${misc:Depends}, Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same -Conflicts: libd3dadapter9-mesa-git-dev -Replaces: libd3dadapter9-mesa-git-dev Description: state-tracker for Direct3D9 -- development files This package contains a Gallium3D state tracker that implements the Direct3D9 API. Combined with the gallium-nine branch of Wine, programs using D3D9 can @@ -207,14 +134,13 @@ Description: state-tracker for Direct3D9 -- development files Package: libgbm1 Section: libs -Architecture: linux-any kfreebsd-any -Depends: libmesa-stable, +Architecture: linux-any +Depends: ${shlibs:Depends}, ${misc:Depends}, + mesa-libgallium (= ${binary:Version}), Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same -Conflicts: libgbm1-git -Replaces: libgbm1-git Description: generic buffer management API -- runtime This package contains the GBM buffer management library. It provides a mechanism for allocating buffers for graphics rendering tied to Mesa. @@ -223,13 +149,11 @@ Description: generic buffer management API -- runtime Package: libgbm-dev Section: libdevel -Architecture: linux-any kfreebsd-any -Depends: libmesa-stable, +Architecture: linux-any +Depends: libgbm1 (= ${binary:Version}), ${misc:Depends}, Multi-Arch: same -Conflicts: libgbm-dev-git -Replaces: libgbm-dev-git Description: generic buffer management API -- development files This package contains the GBM buffer management library. It provides a mechanism for allocating buffers for graphics rendering tied to Mesa. @@ -242,13 +166,12 @@ Description: generic buffer management API -- development files Package: libegl-mesa0 Section: libs Architecture: any -Depends: libmesa-stable, +Depends: ${shlibs:Depends}, ${misc:Depends}, libgbm1 (= ${binary:Version}) [!hurd-any], + mesa-libgallium (= ${binary:Version}), Provides: libegl-vendor -Conflicts: libegl-mesa0-git -Replaces: libegl-mesa0-git Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same Description: free implementation of the EGL API -- Mesa vendor library @@ -258,28 +181,14 @@ Description: free implementation of the EGL API -- Mesa vendor library . This package contains the Mesa vendor library for EGL. -Package: libegl1-mesa -Section: oldlibs -Architecture: any -Depends: libmesa-stable, - libegl1, - ${misc:Depends}, -Conflicts: libegl1-mesa-git -Replaces: libegl1-mesa-git -Multi-Arch: same -Description: transitional dummy package - This is a transitional dummy package, it can be safely removed. - Package: libegl1-mesa-dev Section: libdevel Architecture: any -Depends: libmesa-stable, +Depends: libegl-dev, libglvnd-dev, ${misc:Depends}, Multi-Arch: same -Conflicts: libegl1-mesa-git-dev -Replaces: libegl1-mesa-git-dev Description: free implementation of the EGL API -- development files This package contains the development environment required for compiling programs against EGL native platform graphics interface library. @@ -289,55 +198,25 @@ Description: free implementation of the EGL API -- development files This package provides the development environment for compiling programs against the EGL library. -Package: libwayland-egl1-mesa -Section: oldlibs -Architecture: linux-any -Depends: libmesa-stable, - ${misc:Depends}, - libegl1, - libwayland-egl1, -Pre-Depends: ${misc:Pre-Depends} -Multi-Arch: same -Conflicts: libwayland-egl1-mesa-git -Replaces: libwayland-egl1-mesa-git -Description: transitional dummy package - This is a transitional dummy package, it can be safely removed. - -Package: libgles2-mesa -Section: oldlibs -Architecture: any -Depends: libmesa-stable, - libgles2, - ${misc:Depends}, -Multi-Arch: same -Conflicts: libgles2-mesa-git -Replaces: libgles2-mesa-git -Description: transitional dummy package - This is a transitional dummy package, it can be safely removed. - Package: libgles2-mesa-dev Section: oldlibs Architecture: any -Depends: libmesa-stable, +Depends: libgles-dev, libglvnd-dev, ${misc:Depends}, Multi-Arch: same -Conflicts: libgles2-mesa-git-dev -Replaces: libgles2-mesa-git-dev Description: transitional dummy package This is a transitional dummy package, it can be safely removed. Package: libglapi-mesa Section: libs Architecture: any -Depends: libmesa-stable, +Depends: ${shlibs:Depends}, ${misc:Depends}, Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same -Conflicts: libglapi-mesa-git -Replaces: libglapi-mesa-git Description: free implementation of the GL API -- shared library The Mesa GL API module is responsible for dispatching all the gl* functions. It is intended to be mainly used by both the libgles1-mesa @@ -346,17 +225,16 @@ Description: free implementation of the GL API -- shared library Package: libglx-mesa0 Section: libs Architecture: any -Depends: libmesa-stable, +Depends: ${shlibs:Depends}, ${misc:Depends}, libgl1-mesa-dri, + mesa-libgallium (= ${binary:Version}), Provides: libglx-vendor Breaks: libopengl-perl (<< 0.6704+dfsg-2), glx-diversions (<< 0.8.4~), Pre-Depends: ${misc:Pre-Depends} -Conflicts: libglx-mesa0-git -Replaces: libglx-mesa0-git Multi-Arch: same Description: free implementation of the OpenGL API -- GLX vendor library Mesa is a 3-D graphics library with an API which is very similar to @@ -373,33 +251,14 @@ Description: free implementation of the OpenGL API -- GLX vendor library This package does not include the modules themselves: these can be found in the libgl1-mesa-dri package. -Package: libgl1-mesa-glx -Section: oldlibs -Architecture: any -Depends: libmesa-stable, - libgl1, - libglx-mesa0, - ${misc:Depends}, -Multi-Arch: same -Conflicts: libgl1-mesa-glx-git -Replaces: libgl1-mesa-glx-git -Description: transitional dummy package - This is a transitional dummy package, it can be safely removed. - Package: libgl1-mesa-dri Section: libs Architecture: any Pre-Depends: ${misc:Pre-Depends} -Depends: libmesa-stable, +Depends: + libvulkan1 [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], ${shlibs:Depends}, ${misc:Depends} -Recommends: - libgl1-amber-dri -Breaks: - libgl1-amber-dri (<< 21.3.9) -Replaces: - libgl1-amber-dri (<< 21.3.9), libgl1-mesa-dri-git -Conflicts: libgl1-mesa-dri-git Multi-Arch: same Description: free implementation of the OpenGL API -- DRI modules This version of Mesa provides GLX and DRI capabilities: it is capable of @@ -415,43 +274,51 @@ Description: free implementation of the OpenGL API -- DRI modules Package: libgl1-mesa-dev Section: oldlibs Architecture: any -Depends: libmesa-stable, +Depends: libgl-dev, libglvnd-dev, ${misc:Depends}, Multi-Arch: same -Conflicts: libgl1-mesa-git-dev -Replaces: libgl1-mesa-git-dev Description: transitional dummy package This is a transitional dummy package, it can be safely removed. Package: mesa-common-dev Section: libdevel Architecture: any -Depends: libmesa-stable, +Depends: libgl-dev, libglx-dev, libx11-dev, libdrm-dev (>= 2.4.95) [!hurd-any], ${misc:Depends}, Breaks: libegl1-mesa-dev (<< 18.2.5-2) -Replaces: libegl1-mesa-dev (<< 18.2.5-2), mesa-common-git-dev -Conflicts: mesa-common-git-dev +Replaces: libegl1-mesa-dev (<< 18.2.5-2) Multi-Arch: same Description: Developer documentation for Mesa This package includes the specifications for the Mesa-specific OpenGL extensions, the complete set of release notes and the development header files common to all Mesa packages. -Package: libosmesa6 +Package: mesa-libgallium Section: libs -Architecture: any -Depends: libmesa-stable, +Architecture: linux-any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: shared infrastructure for Mesa drivers + This package contains libgallium, a private library shared between + multiple Mesa drivers. This library is an implementation detail of Mesa + and should not be used directly by user code. + +Package: libosmesa6 +Section: libs +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, Pre-Depends: ${misc:Pre-Depends} -Conflicts: libosmesa6-git -Replaces: libosmesa6-git Multi-Arch: same Description: Mesa Off-screen rendering extension OSmesa is a Mesa extension that allows programs to render to an @@ -464,12 +331,12 @@ Description: Mesa Off-screen rendering extension Package: libosmesa6-dev Section: libdevel Architecture: any -Depends: libmesa-stable, +Depends: libosmesa6 (= ${binary:Version}), mesa-common-dev (= ${binary:Version}) | libgl-dev, ${misc:Depends}, -Conflicts: libosmesa-dev, libosmesa6-git-dev, libosmesa-git-dev -Replaces: libosmesa-dev, libosmesa6-git-dev, libosmesa-git-dev +Conflicts: libosmesa-dev +Replaces: libosmesa-dev Provides: libosmesa-dev Multi-Arch: same Description: Mesa Off-screen rendering extension -- development files @@ -478,11 +345,24 @@ Description: Mesa Off-screen rendering extension -- development files . For more information on OSmesa see the libosmesa6 package. +Package: mesa-teflon-delegate +Section: libs +Architecture: arm64 +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: Mesa TensorFlow Lite external delegate + TensorFlow Lite delegate which can make use of NPUs to accelerate ML + inference. It is implemented in the form of a external delegate, a shared + library which the TensorFlow Lite runtime can load at startup. + Package: mesa-va-drivers Section: libs -Architecture: linux-any kfreebsd-any +Architecture: linux-any Build-Profiles: -Depends: libmesa-stable, +Depends: ${shlibs:Depends}, ${misc:Depends}, Enhances: @@ -490,8 +370,7 @@ Enhances: Provides: va-driver, Breaks: vdpau-va-driver (<< 0.7.4-5) -Replaces: vdpau-va-driver (<< 0.7.4-5), mesa-va-drivers-git -Conflicts: mesa-va-drivers-git +Replaces: vdpau-va-driver (<< 0.7.4-5) Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Description: Mesa VA-API video acceleration drivers @@ -503,8 +382,8 @@ Description: Mesa VA-API video acceleration drivers Package: mesa-vdpau-drivers Section: libs -Architecture: linux-any kfreebsd-any -Depends: libmesa-stable, +Architecture: linux-any +Depends: libvdpau1, ${shlibs:Depends}, ${misc:Depends}, @@ -512,8 +391,6 @@ Enhances: libvdpau1, Provides: vdpau-driver, -Replaces: mesa-vdpau-drivers-git -Conflicts: mesa-vdpau-drivers-git Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Description: Mesa VDPAU video acceleration drivers @@ -525,16 +402,14 @@ Description: Mesa VDPAU video acceleration drivers Package: mesa-vulkan-drivers Section: libs -Architecture: amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32 +Architecture: amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32 Pre-Depends: ${misc:Pre-Depends} -Depends: libmesa-stable, +Depends: libvulkan1, - python3:any | python3-minimal:any, + python3:any, ${shlibs:Depends}, ${misc:Depends} Provides: vulkan-icd -Conflicts: mesa-vulkan-drivers-git -Replaces: mesa-vulkan-drivers-git Multi-Arch: same Description: Mesa Vulkan graphics drivers Vulkan is a low-overhead 3D graphics and compute API. This package @@ -542,16 +417,14 @@ Description: Mesa Vulkan graphics drivers Package: mesa-opencl-icd Section: libs -Architecture: amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32 +Architecture: amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32 Pre-Depends: ${misc:Pre-Depends} -Depends: libmesa-stable, +Depends: libclc-17, ocl-icd-libopencl1 | libopencl1, ${shlibs:Depends}, ${misc:Depends}, Provides: opencl-icd -Conflicts: mesa-opencl-icd-git -Replaces: mesa-opencl-icd-git Multi-Arch: same Description: free implementation of the OpenCL API -- ICD runtime This package contains the mesa implementation of the OpenCL (Open Compute @@ -561,16 +434,14 @@ Description: free implementation of the OpenCL API -- ICD runtime Package: mesa-drm-shim Section: libs -Architecture: amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el s390x sparc64 +Architecture: amd64 arm64 armel armhf i386 mips64el powerpc ppc64 ppc64el s390x sparc64 Pre-Depends: ${misc:Pre-Depends} -Depends: libmesa-stable, +Depends: ${shlibs:Depends}, ${misc:Depends}, -Conflicts: mesa-drm-shim-git -Replaces: mesa-drm-shim-git Multi-Arch: same Description: DRM shim libraries - This package provides drm-shim libraries which can be used for testing DRM drivers when - none exists on the host + This package provides drm-shim libraries which can be used for testing DRM + drivers when none exists on the host. # vim: tw=0 diff --git a/debian/control.in b/debian/control.in index 4e2b0ed..c065f32 100644 --- a/debian/control.in +++ b/debian/control.in @@ -7,20 +7,22 @@ Uploaders: Ki'Sak Standards-Version: 4.1.4 Build-Depends: debhelper-compat (= 13), - directx-headers-dev (>= 1.610.0) [linux-amd64 linux-arm64], + directx-headers-dev (>= 1.613.0) [linux-amd64 linux-arm64], + flatbuffers-compiler [linux-arm64], glslang-tools [@LLVM_ARCHS@], - meson (>= 1.3.1), + meson (>= 1.4.0), quilt (>= 0.63-8.2~), - pkg-config, - libdrm-dev (>= 2.4.119), + pkgconf, + libdrm-dev (>= 2.4.121), libx11-dev, libxxf86vm-dev, libexpat1-dev, + libflatbuffers-dev [linux-arm64], libsensors-dev [!hurd-any], libxfixes-dev, libxext-dev, libva-dev (>= 1.6.0) [linux-any] , - libvdpau-dev (>= 1.1.1) [linux-any], + libvdpau-dev (>= 1.5) [linux-any], libvulkan-dev [@LLVM_ARCHS@], x11proto-dev, linux-libc-dev (>= 2.6.31) [linux-any], @@ -35,10 +37,12 @@ Build-Depends: libxcb-sync-dev, libxrandr-dev, libxshmfence-dev (>= 1.1), + libxtensor-dev [linux-arm64], libzstd-dev, python3, python3-mako, python3-ply, + python3-yaml, python3-pycparser [arm64 armhf], python3-setuptools, flex, @@ -50,102 +54,32 @@ Build-Depends: libclang-@LLVM_VERSION@-dev [@LLVM_ARCHS@], libclang-cpp@LLVM_VERSION@-dev [@LLVM_ARCHS@], libclc-@LLVM_VERSION@-dev [@LLVM_ARCHS@], - wayland-protocols (>= 1.24), + libclc-@LLVM_VERSION@ [@LLVM_ARCHS@], + wayland-protocols (>= 1.34), zlib1g-dev, libglvnd-core-dev (>= 1.3.2), valgrind [@VALGRIND_ARCHS@], - rustc [@RUSTICL_ARCHS@], + rustc (>= 1.73) [@RUSTICL_ARCHS@], + rustfmt [@RUSTICL_ARCHS@], bindgen (>= 0.66.1~) [@RUSTICL_ARCHS@], + cbindgen [@RUSTICL_ARCHS@], llvm-spirv-@LLVM_VERSION@ [@RUSTICL_ARCHS@], - libclc-@LLVM_VERSION@ [@RUSTICL_ARCHS@], libllvmspirvlib-@LLVM_VERSION@-dev [@LLVM_ARCHS@], + librust-paste-dev [@NVK_ARCHS@], + librust-syn-dev [@NVK_ARCHS@], Rules-Requires-Root: no Vcs-Git: https://salsa.debian.org/xorg-team/lib/mesa.git Vcs-Browser: https://salsa.debian.org/xorg-team/lib/mesa Homepage: https://mesa3d.org/ -Package: mesa-stable +Package: libxatracker2 Section: libs -Architecture: any -Depends: libmesa-stable, - ${shlibs:Depends}, - ${misc:Depends}, - mesa-stable:i386 (= ${binary:Version}) [amd64], - mesa-stable:amd64 (= ${binary:Version}) [i386], - libd3dadapter9-mesa (= ${binary:Version}), - libegl-mesa0 (= ${binary:Version}), - libegl1-mesa-dev (= ${binary:Version}), - libegl1-mesa (= ${binary:Version}), - libgbm-dev (= ${binary:Version}), - libgbm1 (= ${binary:Version}), - libgl1-mesa-dri (= ${binary:Version}), - libgl1-mesa-glx (= ${binary:Version}), - libglapi-mesa (= ${binary:Version}), - libgles2-mesa (= ${binary:Version}), - libglx-mesa0 (= ${binary:Version}), - libosmesa6 (= ${binary:Version}), - libxatracker2 (= ${binary:Version}), - mesa-common-dev (= ${binary:Version}), - mesa-va-drivers (= ${binary:Version}), - mesa-vdpau-drivers (= ${binary:Version}), - mesa-vulkan-drivers (= ${binary:Version}), -Pre-Depends: ${misc:Pre-Depends} -Conflicts: mesa-hybrid, mesa-git, mesa-custom, mesa-hybrid-no-march, mesa-stable-no-march, mesa-git-no-march, mesa-custom-no-march -Replaces: mesa-hybrid, mesa-git, mesa-custom, mesa-hybrid-no-march, mesa-stable-no-march, mesa-git-no-march, mesa-custom-no-march -Multi-Arch: same -Description: a meta package to install the latest stable version of mesa. - -Package: mesa-stable-no-march -Section: libs -Architecture: any -Depends: libmesa-stable, - ${shlibs:Depends}, - ${misc:Depends}, - libd3dadapter9-mesa (= ${binary:Version}), - libegl-mesa0 (= ${binary:Version}), - libegl1-mesa-dev (= ${binary:Version}), - libegl1-mesa (= ${binary:Version}), - libgbm-dev (= ${binary:Version}), - libgbm1 (= ${binary:Version}), - libgl1-mesa-dri (= ${binary:Version}), - libgl1-mesa-glx (= ${binary:Version}), - libglapi-mesa (= ${binary:Version}), - libgles2-mesa (= ${binary:Version}), - libglx-mesa0 (= ${binary:Version}), - libosmesa6 (= ${binary:Version}), - libxatracker2 (= ${binary:Version}), - mesa-common-dev (= ${binary:Version}), - mesa-va-drivers (= ${binary:Version}), - mesa-vdpau-drivers (= ${binary:Version}), - mesa-vulkan-drivers (= ${binary:Version}), -Pre-Depends: ${misc:Pre-Depends} -Conflicts: mesa-hybrid, mesa-git, mesa-custom, mesa-hybrid-no-march, mesa-stable, mesa-git-no-march, mesa-custom-no-march -Replaces: mesa-hybrid, mesa-git, mesa-custom, mesa-hybrid-no-march, mesa-stable, mesa-git-no-march, mesa-custom-no-march -Provides: mesa-stable -Description: a meta package to install the latest stable version of mesa (no Multi-Arch Support). - -Package: libmesa-stable -Section: libs -Architecture: any +Architecture: amd64 i386 x32 Depends: ${shlibs:Depends}, ${misc:Depends}, Pre-Depends: ${misc:Pre-Depends} -Conflicts: libmesa-hybrid, libmesa-git, libmesa-custom -Replaces: libmesa-hybrid, libmesa-git, libmesa-custom Multi-Arch: same -Description: mesa stable core. - -Package: libxatracker2 -Section: libs -Architecture: amd64 i386 x32 -Depends: libmesa-stable, - ${shlibs:Depends}, - ${misc:Depends}, -Pre-Depends: ${misc:Pre-Depends} -Multi-Arch: same -Conflicts: libxatracker2-git -Replaces: libxatracker2-git Description: X acceleration library -- runtime This package contains the XA (X acceleration) library. It is used exclusively by the X server to do render, copy and video acceleration. @@ -155,12 +89,10 @@ Description: X acceleration library -- runtime Package: libxatracker-dev Section: libdevel Architecture: amd64 i386 x32 -Depends: libmesa-stable, +Depends: libxatracker2 (= ${binary:Version}), ${misc:Depends}, Multi-Arch: same -Conflicts: libxatracker-git-dev -Replaces: libxatracker-git-dev Description: X acceleration library -- development files This package contains the XA (X acceleration) library. It is used exclusively by the X server to do render, copy and video acceleration. @@ -173,13 +105,11 @@ Description: X acceleration library -- development files Package: libd3dadapter9-mesa Section: libs Architecture: @WINE_ARCHS@ -Depends: libmesa-stable, +Depends: ${shlibs:Depends}, ${misc:Depends}, libudev1 [linux-any], Pre-Depends: ${misc:Pre-Depends} -Conflicts: libd3dadapter9-mesa-git -Replaces: libd3dadapter9-mesa-git Multi-Arch: same Description: state-tracker for Direct3D9 This package contains a Gallium3D state tracker that implements the Direct3D9 @@ -189,14 +119,12 @@ Description: state-tracker for Direct3D9 Package: libd3dadapter9-mesa-dev Section: libdevel Architecture: @WINE_ARCHS@ -Depends: libmesa-stable, +Depends: libd3dadapter9-mesa (= ${binary:Version}), libudev1 [linux-any], ${misc:Depends}, Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same -Conflicts: libd3dadapter9-mesa-git-dev -Replaces: libd3dadapter9-mesa-git-dev Description: state-tracker for Direct3D9 -- development files This package contains a Gallium3D state tracker that implements the Direct3D9 API. Combined with the gallium-nine branch of Wine, programs using D3D9 can @@ -206,14 +134,13 @@ Description: state-tracker for Direct3D9 -- development files Package: libgbm1 Section: libs -Architecture: linux-any kfreebsd-any -Depends: libmesa-stable, +Architecture: linux-any +Depends: ${shlibs:Depends}, ${misc:Depends}, + mesa-libgallium (= ${binary:Version}), Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same -Conflicts: libgbm1-git -Replaces: libgbm1-git Description: generic buffer management API -- runtime This package contains the GBM buffer management library. It provides a mechanism for allocating buffers for graphics rendering tied to Mesa. @@ -222,13 +149,11 @@ Description: generic buffer management API -- runtime Package: libgbm-dev Section: libdevel -Architecture: linux-any kfreebsd-any -Depends: libmesa-stable, +Architecture: linux-any +Depends: libgbm1 (= ${binary:Version}), ${misc:Depends}, Multi-Arch: same -Conflicts: libgbm-dev-git -Replaces: libgbm-dev-git Description: generic buffer management API -- development files This package contains the GBM buffer management library. It provides a mechanism for allocating buffers for graphics rendering tied to Mesa. @@ -241,13 +166,12 @@ Description: generic buffer management API -- development files Package: libegl-mesa0 Section: libs Architecture: any -Depends: libmesa-stable, +Depends: ${shlibs:Depends}, ${misc:Depends}, libgbm1 (= ${binary:Version}) [!hurd-any], + mesa-libgallium (= ${binary:Version}), Provides: libegl-vendor -Conflicts: libegl-mesa0-git -Replaces: libegl-mesa0-git Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same Description: free implementation of the EGL API -- Mesa vendor library @@ -257,28 +181,14 @@ Description: free implementation of the EGL API -- Mesa vendor library . This package contains the Mesa vendor library for EGL. -Package: libegl1-mesa -Section: oldlibs -Architecture: any -Depends: libmesa-stable, - libegl1, - ${misc:Depends}, -Conflicts: libegl1-mesa-git -Replaces: libegl1-mesa-git -Multi-Arch: same -Description: transitional dummy package - This is a transitional dummy package, it can be safely removed. - Package: libegl1-mesa-dev Section: libdevel Architecture: any -Depends: libmesa-stable, +Depends: libegl-dev, libglvnd-dev, ${misc:Depends}, Multi-Arch: same -Conflicts: libegl1-mesa-git-dev -Replaces: libegl1-mesa-git-dev Description: free implementation of the EGL API -- development files This package contains the development environment required for compiling programs against EGL native platform graphics interface library. @@ -288,55 +198,25 @@ Description: free implementation of the EGL API -- development files This package provides the development environment for compiling programs against the EGL library. -Package: libwayland-egl1-mesa -Section: oldlibs -Architecture: linux-any -Depends: libmesa-stable, - ${misc:Depends}, - libegl1, - libwayland-egl1, -Pre-Depends: ${misc:Pre-Depends} -Multi-Arch: same -Conflicts: libwayland-egl1-mesa-git -Replaces: libwayland-egl1-mesa-git -Description: transitional dummy package - This is a transitional dummy package, it can be safely removed. - -Package: libgles2-mesa -Section: oldlibs -Architecture: any -Depends: libmesa-stable, - libgles2, - ${misc:Depends}, -Multi-Arch: same -Conflicts: libgles2-mesa-git -Replaces: libgles2-mesa-git -Description: transitional dummy package - This is a transitional dummy package, it can be safely removed. - Package: libgles2-mesa-dev Section: oldlibs Architecture: any -Depends: libmesa-stable, +Depends: libgles-dev, libglvnd-dev, ${misc:Depends}, Multi-Arch: same -Conflicts: libgles2-mesa-git-dev -Replaces: libgles2-mesa-git-dev Description: transitional dummy package This is a transitional dummy package, it can be safely removed. Package: libglapi-mesa Section: libs Architecture: any -Depends: libmesa-stable, +Depends: ${shlibs:Depends}, ${misc:Depends}, Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same -Conflicts: libglapi-mesa-git -Replaces: libglapi-mesa-git Description: free implementation of the GL API -- shared library The Mesa GL API module is responsible for dispatching all the gl* functions. It is intended to be mainly used by both the libgles1-mesa @@ -345,17 +225,16 @@ Description: free implementation of the GL API -- shared library Package: libglx-mesa0 Section: libs Architecture: any -Depends: libmesa-stable, +Depends: ${shlibs:Depends}, ${misc:Depends}, libgl1-mesa-dri, + mesa-libgallium (= ${binary:Version}), Provides: libglx-vendor Breaks: libopengl-perl (<< 0.6704+dfsg-2), glx-diversions (<< 0.8.4~), Pre-Depends: ${misc:Pre-Depends} -Conflicts: libglx-mesa0-git -Replaces: libglx-mesa0-git Multi-Arch: same Description: free implementation of the OpenGL API -- GLX vendor library Mesa is a 3-D graphics library with an API which is very similar to @@ -372,33 +251,14 @@ Description: free implementation of the OpenGL API -- GLX vendor library This package does not include the modules themselves: these can be found in the libgl1-mesa-dri package. -Package: libgl1-mesa-glx -Section: oldlibs -Architecture: any -Depends: libmesa-stable, - libgl1, - libglx-mesa0, - ${misc:Depends}, -Multi-Arch: same -Conflicts: libgl1-mesa-glx-git -Replaces: libgl1-mesa-glx-git -Description: transitional dummy package - This is a transitional dummy package, it can be safely removed. - Package: libgl1-mesa-dri Section: libs Architecture: any Pre-Depends: ${misc:Pre-Depends} -Depends: libmesa-stable, +Depends: + libvulkan1 [@LLVM_ARCHS@], ${shlibs:Depends}, ${misc:Depends} -Recommends: - libgl1-amber-dri -Breaks: - libgl1-amber-dri (<< 21.3.9) -Replaces: - libgl1-amber-dri (<< 21.3.9), libgl1-mesa-dri-git -Conflicts: libgl1-mesa-dri-git Multi-Arch: same Description: free implementation of the OpenGL API -- DRI modules This version of Mesa provides GLX and DRI capabilities: it is capable of @@ -414,43 +274,51 @@ Description: free implementation of the OpenGL API -- DRI modules Package: libgl1-mesa-dev Section: oldlibs Architecture: any -Depends: libmesa-stable, +Depends: libgl-dev, libglvnd-dev, ${misc:Depends}, Multi-Arch: same -Conflicts: libgl1-mesa-git-dev -Replaces: libgl1-mesa-git-dev Description: transitional dummy package This is a transitional dummy package, it can be safely removed. Package: mesa-common-dev Section: libdevel Architecture: any -Depends: libmesa-stable, +Depends: libgl-dev, libglx-dev, libx11-dev, libdrm-dev (>= 2.4.95) [!hurd-any], ${misc:Depends}, Breaks: libegl1-mesa-dev (<< 18.2.5-2) -Replaces: libegl1-mesa-dev (<< 18.2.5-2), mesa-common-git-dev -Conflicts: mesa-common-git-dev +Replaces: libegl1-mesa-dev (<< 18.2.5-2) Multi-Arch: same Description: Developer documentation for Mesa This package includes the specifications for the Mesa-specific OpenGL extensions, the complete set of release notes and the development header files common to all Mesa packages. -Package: libosmesa6 +Package: mesa-libgallium Section: libs -Architecture: any -Depends: libmesa-stable, +Architecture: linux-any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: shared infrastructure for Mesa drivers + This package contains libgallium, a private library shared between + multiple Mesa drivers. This library is an implementation detail of Mesa + and should not be used directly by user code. + +Package: libosmesa6 +Section: libs +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, Pre-Depends: ${misc:Pre-Depends} -Conflicts: libosmesa6-git -Replaces: libosmesa6-git Multi-Arch: same Description: Mesa Off-screen rendering extension OSmesa is a Mesa extension that allows programs to render to an @@ -463,12 +331,12 @@ Description: Mesa Off-screen rendering extension Package: libosmesa6-dev Section: libdevel Architecture: any -Depends: libmesa-stable, +Depends: libosmesa6 (= ${binary:Version}), mesa-common-dev (= ${binary:Version}) | libgl-dev, ${misc:Depends}, -Conflicts: libosmesa-dev, libosmesa6-git-dev, libosmesa-git-dev -Replaces: libosmesa-dev, libosmesa6-git-dev, libosmesa-git-dev +Conflicts: libosmesa-dev +Replaces: libosmesa-dev Provides: libosmesa-dev Multi-Arch: same Description: Mesa Off-screen rendering extension -- development files @@ -477,11 +345,24 @@ Description: Mesa Off-screen rendering extension -- development files . For more information on OSmesa see the libosmesa6 package. +Package: mesa-teflon-delegate +Section: libs +Architecture: arm64 +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: Mesa TensorFlow Lite external delegate + TensorFlow Lite delegate which can make use of NPUs to accelerate ML + inference. It is implemented in the form of a external delegate, a shared + library which the TensorFlow Lite runtime can load at startup. + Package: mesa-va-drivers Section: libs -Architecture: linux-any kfreebsd-any +Architecture: linux-any Build-Profiles: -Depends: libmesa-stable, +Depends: ${shlibs:Depends}, ${misc:Depends}, Enhances: @@ -489,8 +370,7 @@ Enhances: Provides: va-driver, Breaks: vdpau-va-driver (<< 0.7.4-5) -Replaces: vdpau-va-driver (<< 0.7.4-5), mesa-va-drivers-git -Conflicts: mesa-va-drivers-git +Replaces: vdpau-va-driver (<< 0.7.4-5) Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Description: Mesa VA-API video acceleration drivers @@ -502,8 +382,8 @@ Description: Mesa VA-API video acceleration drivers Package: mesa-vdpau-drivers Section: libs -Architecture: linux-any kfreebsd-any -Depends: libmesa-stable, +Architecture: linux-any +Depends: libvdpau1, ${shlibs:Depends}, ${misc:Depends}, @@ -511,8 +391,6 @@ Enhances: libvdpau1, Provides: vdpau-driver, -Replaces: mesa-vdpau-drivers-git -Conflicts: mesa-vdpau-drivers-git Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Description: Mesa VDPAU video acceleration drivers @@ -526,14 +404,12 @@ Package: mesa-vulkan-drivers Section: libs Architecture: @LLVM_ARCHS@ Pre-Depends: ${misc:Pre-Depends} -Depends: libmesa-stable, +Depends: libvulkan1, - python3:any | python3-minimal:any, + python3:any, ${shlibs:Depends}, ${misc:Depends} Provides: vulkan-icd -Conflicts: mesa-vulkan-drivers-git -Replaces: mesa-vulkan-drivers-git Multi-Arch: same Description: Mesa Vulkan graphics drivers Vulkan is a low-overhead 3D graphics and compute API. This package @@ -543,14 +419,12 @@ Package: mesa-opencl-icd Section: libs Architecture: @LLVM_ARCHS@ Pre-Depends: ${misc:Pre-Depends} -Depends: libmesa-stable, +Depends: libclc-@LLVM_VERSION@, ocl-icd-libopencl1 | libopencl1, ${shlibs:Depends}, ${misc:Depends}, Provides: opencl-icd -Conflicts: mesa-opencl-icd-git -Replaces: mesa-opencl-icd-git Multi-Arch: same Description: free implementation of the OpenCL API -- ICD runtime This package contains the mesa implementation of the OpenCL (Open Compute @@ -560,16 +434,14 @@ Description: free implementation of the OpenCL API -- ICD runtime Package: mesa-drm-shim Section: libs -Architecture: amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el s390x sparc64 +Architecture: amd64 arm64 armel armhf i386 mips64el powerpc ppc64 ppc64el s390x sparc64 Pre-Depends: ${misc:Pre-Depends} -Depends: libmesa-stable, +Depends: ${shlibs:Depends}, ${misc:Depends}, -Conflicts: mesa-drm-shim-git -Replaces: mesa-drm-shim-git Multi-Arch: same Description: DRM shim libraries - This package provides drm-shim libraries which can be used for testing DRM drivers when - none exists on the host + This package provides drm-shim libraries which can be used for testing DRM + drivers when none exists on the host. # vim: tw=0 diff --git a/debian/libgbm1.lintian-overrides b/debian/libgbm1.lintian-overrides index 4b9f4bd..b622d56 100644 --- a/debian/libgbm1.lintian-overrides +++ b/debian/libgbm1.lintian-overrides @@ -1 +1 @@ -symbols-declares-dependency-on-other-package libgbm1-private +symbols-declares-dependency-on-other-package libgbm1-private (libgbm.so.1) [symbols] diff --git a/debian/mesa-drm-shim.lintian-overrides b/debian/mesa-drm-shim.lintian-overrides new file mode 100644 index 0000000..1c65a5f --- /dev/null +++ b/debian/mesa-drm-shim.lintian-overrides @@ -0,0 +1,4 @@ +package-name-doesnt-match-sonames libamdgpu-noop-drm-shim libnouveau-noop-drm-shim libradeon-noop-drm-shim +shared-library-lacks-version usr/lib/x86_64-linux-gnu/libamdgpu_noop_drm_shim.so libamdgpu_noop_drm_shim.so +shared-library-lacks-version usr/lib/x86_64-linux-gnu/libnouveau_noop_drm_shim.so libnouveau_noop_drm_shim.so +shared-library-lacks-version usr/lib/x86_64-linux-gnu/libradeon_noop_drm_shim.so libradeon_noop_drm_shim.so diff --git a/debian/mesa-drm-shim.triggers b/debian/mesa-drm-shim.triggers new file mode 100644 index 0000000..dd86603 --- /dev/null +++ b/debian/mesa-drm-shim.triggers @@ -0,0 +1 @@ +activate-noawait ldconfig diff --git a/debian/mesa-libgallium.install b/debian/mesa-libgallium.install new file mode 100644 index 0000000..9e1c57d --- /dev/null +++ b/debian/mesa-libgallium.install @@ -0,0 +1 @@ +usr/lib/*/libgallium-*.so diff --git a/debian/mesa-libgallium.lintian-overrides b/debian/mesa-libgallium.lintian-overrides new file mode 100644 index 0000000..7763abc --- /dev/null +++ b/debian/mesa-libgallium.lintian-overrides @@ -0,0 +1 @@ +package-name-doesnt-match-sonames libgallium-* diff --git a/debian/mesa-opencl-icd.lintian-overrides b/debian/mesa-opencl-icd.lintian-overrides index 535b919..71ed4bc 100644 --- a/debian/mesa-opencl-icd.lintian-overrides +++ b/debian/mesa-opencl-icd.lintian-overrides @@ -1,2 +1,4 @@ -package-name-doesnt-match-sonames libMesaOpenCL1 -package-name-doesnt-match-sonames libRusticlOpenCL +link-to-shared-library-in-wrong-package usr/lib/*/libMesaOpenCL.so.1.0.0 [usr/lib/*/libMesaOpenCL.so] +link-to-shared-library-in-wrong-package usr/lib/*/libRusticlOpenCL.so.1.0.0 [usr/lib/*/libRusticlOpenCL.so] +package-name-doesnt-match-sonames libMesaOpenCL1 libRusticlOpenCL1 +shared-library-lacks-prerequisites [usr/lib/x86_64-linux-gnu/gallium-pipe/pipe_i915.so] diff --git a/debian/mesa-teflon-delegate.install b/debian/mesa-teflon-delegate.install new file mode 100644 index 0000000..9849c16 --- /dev/null +++ b/debian/mesa-teflon-delegate.install @@ -0,0 +1 @@ +usr/lib/*/libteflon.so usr/lib/teflon diff --git a/debian/mesa-vulkan-drivers.lintian-overrides b/debian/mesa-vulkan-drivers.lintian-overrides index a471774..49017a4 100644 --- a/debian/mesa-vulkan-drivers.lintian-overrides +++ b/debian/mesa-vulkan-drivers.lintian-overrides @@ -1,3 +1,12 @@ -package-name-doesnt-match-sonames libvulkan-intel libvulkan-radeon +no-manual-page [usr/bin/mesa-overlay-control.py] +package-name-doesnt-match-sonames libVkLayer-INTEL-nullhw libVkLayer-MESA-device-select libVkLayer-MESA-overlay libvulkan-intel libvulkan-intel-hasvk libvulkan-lvp libvulkan-nouveau libvulkan-radeon libvulkan-virtio +script-with-language-extension [usr/bin/mesa-overlay-control.py] +shared-library-lacks-version usr/lib/x86_64-linux-gnu/libVkLayer_INTEL_nullhw.so libVkLayer_INTEL_nullhw.so +shared-library-lacks-version usr/lib/x86_64-linux-gnu/libVkLayer_MESA_device_select.so libVkLayer_MESA_device_select.so +shared-library-lacks-version usr/lib/x86_64-linux-gnu/libVkLayer_MESA_overlay.so libVkLayer_MESA_overlay.so +shared-library-lacks-version usr/lib/x86_64-linux-gnu/libvulkan_intel_hasvk.so libvulkan_intel_hasvk.so +shared-library-lacks-version usr/lib/x86_64-linux-gnu/libvulkan_lvp.so libvulkan_lvp.so +shared-library-lacks-version usr/lib/x86_64-linux-gnu/libvulkan_nouveau.so libvulkan_nouveau.so +shared-library-lacks-version usr/lib/x86_64-linux-gnu/libvulkan_virtio.so libvulkan_virtio.so shlib-without-versioned-soname usr/lib/*/libvulkan_intel.so libvulkan_intel.so shlib-without-versioned-soname usr/lib/*/libvulkan_radeon.so libvulkan_radeon.so diff --git a/debian/rules b/debian/rules index 5e03961..7812fff 100755 --- a/debian/rules +++ b/debian/rules @@ -17,38 +17,51 @@ LLVM_VERSION = 17 export PATH:=/usr/lib/llvm-$(LLVM_VERSION)/bin/:$(PATH) export DEB_BUILD_MAINT_OPTIONS=optimize=-lto +export MESON_PACKAGE_CACHE_DIR=/usr/share/cargo/registry/ -ifeq (,$(filter $(DEB_HOST_ARCH), armhf ppc64el sh3 sh4)) -buildflags = \ - $(shell DEB_CFLAGS_MAINT_APPEND=-Wall DEB_CXXFLAGS_MAINT_APPEND=-Wall dpkg-buildflags --export=configure) -else - ifneq (,$(filter $(DEB_HOST_ARCH), armhf)) +DEB_CFLAGS_MAINT_APPEND := -Wall +DEB_CXXFLAGS_MAINT_APPEND := -Wall +ifneq (,$(filter $(DEB_HOST_ARCH), armhf)) # Workaround for a variant of LP: #725126 - buildflags = \ - $(shell DEB_CFLAGS_MAINT_APPEND="-Wall -fno-optimize-sibling-calls" DEB_CXXFLAGS_MAINT_APPEND="-Wall -fno-optimize-sibling-calls" dpkg-buildflags --export=configure) - else - # Workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83143 - buildflags = \ - $(shell DEB_CFLAGS_MAINT_APPEND="-Wall -O1" DEB_CXXFLAGS_MAINT_APPEND="-Wall -O1" dpkg-buildflags --export=configure) - endif + DEB_CFLAGS_MAINT_APPEND += -fno-optimize-sibling-calls + DEB_CXXFLAGS_MAINT_APPEND += -fno-optimize-sibling-calls +else ifneq (,$(filter $(DEB_HOST_ARCH), loong64)) + # Workaround loong64 BFD linker crash related to TLSDESC + DEB_CFLAGS_MAINT_APPEND += -mtls-dialect=trad + DEB_CXXFLAGS_MAINT_APPEND += -mtls-dialect=trad +else ifneq (,$(filter $(DEB_HOST_ARCH), m68k)) + # This library has huge jump tables: Debian #1067207 + DEB_CFLAGS_MAINT_APPEND += -mlong-jump-table-offsets + DEB_CXXFLAGS_MAINT_APPEND += -mlong-jump-table-offsets +else ifneq (,$(filter $(DEB_HOST_ARCH), sh4)) + # Workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83143 + DEB_CFLAGS_MAINT_APPEND += -freorder-blocks-algorithm=simple + DEB_CXXFLAGS_MAINT_APPEND += -freorder-blocks-algorithm=simple endif +buildflags = $(shell \ + DEB_CFLAGS_MAINT_APPEND='$(DEB_CFLAGS_MAINT_APPEND)' \ + DEB_CXXFLAGS_MAINT_APPEND='$(DEB_CXXFLAGS_MAINT_APPEND)' \ + dpkg-buildflags --export=configure) EGL_PLATFORMS = x11 -GALLIUM_DRIVERS = swrast +GALLIUM_DRIVERS = VULKAN_DRIVERS = VULKAN_LAYERS = confflags_DRI3 = -Ddri3=disabled confflags_OSMESA = -Dosmesa=true confflags_SSE2 = -Dsse2=true +confflags_TEFLON = -Dteflon=false -LLVM_ARCHS = amd64 arm64 armel armhf i386 loong64 powerpc ppc64 ppc64el riscv64 s390x sparc64 x32 -RUSTICL_ARCHS = amd64 arm64 armel armhf loong64 powerpc ppc64 ppc64el riscv64 s390x x32 +LLVM_ARCHS = amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32 +RUSTICL_ARCHS = amd64 arm64 armel armhf loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32 +NVK_ARCHS = amd64 arm64 armhf ppc64 riscv64 x32 VALGRIND_ARCHS = amd64 arm64 armhf i386 mips64el powerpc ppc64 ppc64el s390x WINE_ARCHS = amd64 arm64 armel armhf i386 # hurd doesn't do direct rendering ifeq ($(DEB_HOST_ARCH_OS), hurd) + GALLIUM_DRIVERS += softpipe confflags_DIRECT_RENDERING = -Dglx-direct=false confflags_GBM = -Dgbm=disabled else @@ -107,19 +120,13 @@ else # LLVM is required for building r300g, radeonsi and llvmpipe drivers. # It's also required for building OpenCL support. ifneq (,$(filter $(DEB_HOST_ARCH), $(LLVM_ARCHS))) - GALLIUM_DRIVERS += radeonsi zink + GALLIUM_DRIVERS += radeonsi zink llvmpipe - # Only enable amd on riscv64, swrast needs CPU JIT support which doesn't work properly yet - ifneq (,$(filter $(DEB_HOST_ARCH), riscv64)) - VULKAN_DRIVERS += amd - confflags_GALLIUM += -Ddraw-use-llvm=false - else - # drop virtio from armel, it doesn't build - ifneq (,$(filter $(DEB_HOST_ARCH), armel)) + # drop virtio from armel, it doesn't build + ifneq (,$(filter $(DEB_HOST_ARCH), armel)) VULKAN_DRIVERS += amd swrast - else + else VULKAN_DRIVERS += amd swrast virtio - endif endif VULKAN_LAYERS += device-select intel-nullhw overlay @@ -131,11 +138,16 @@ else confflags_GALLIUM += -Dgallium-rusticl=true endif + ifneq (,$(filter $(DEB_HOST_ARCH), $(NVK_ARCHS))) + VULKAN_DRIVERS += nouveau + endif + # nine makes sense only on archs that build wine ifneq (,$(filter $(DEB_HOST_ARCH), $(WINE_ARCHS))) confflags_GALLIUM += -Dgallium-nine=true endif else + GALLIUM_DRIVERS += softpipe confflags_GALLIUM += -Dllvm=disabled endif @@ -143,6 +155,11 @@ else confflags_GALLIUM += -Dgallium-va=enabled confflags_GALLIUM += -Dvideo-codecs="all" endif + + # Teflon only supports arm64 + ifneq (,$(filter $(DEB_HOST_ARCH), arm64)) + confflags_TEFLON = -Dteflon=true + endif endif ifeq ($(DEB_HOST_ARCH), i386) @@ -170,7 +187,7 @@ confflags += \ -Dplatforms="[$(EGL_PLATFORMS_LIST)]" \ -Dvulkan-drivers="[$(VULKAN_DRIVERS_LIST)]" \ -Dvulkan-layers="[$(VULKAN_LAYERS_LIST)]" \ - -Dglvnd=true \ + -Dglvnd=enabled \ -Dshared-glapi=enabled \ -Dgallium-omx=disabled \ -Db_ndebug=true \ @@ -183,7 +200,18 @@ confflags += \ $(confflags_GLES) \ $(confflags_OSMESA) \ $(confflags_SSE2) \ - $(confflags_VALGRIND) + $(confflags_VALGRIND) \ + $(confflags_TEFLON) + + +rewrite_wrap_files: + cp -r subprojects subprojects-save + for crate in paste proc-macro2 quote syn unicode-ident; \ + do \ + export crate_namever=`basename $$MESON_PACKAGE_CACHE_DIR/$$crate-*`; \ + sed -e"/source.*/d" -e"s,$${crate}-.*,$${crate_namever}," -i subprojects/$${crate}.wrap; \ + done + touch subprojects/rewrite override_dh_clean: regen_control rm -rf .pc @@ -191,12 +219,18 @@ override_dh_clean: regen_control rm -rf configure bin/config.guess bin/config.sub config.h.in rm -rf $$(find -name Makefile.in) rm -rf bin/install-sh bin/ltmain.sh + rm -rf src/intel/vulkan/grl/parser.out + rm -rf src/intel/vulkan/grl/parsetab.py for file in debian/*.links.in; do rm -f $${file%%.in}; done find -name '*.pyc' -delete find -name '__pycache__' -delete + if [ -f subprojects/rewrite ]; then \ + rm -rf subprojects; \ + mv subprojects-save subprojects; \ + fi dh_clean -override_dh_auto_configure: +override_dh_auto_configure: rewrite_wrap_files $(buildflags) dh_auto_configure -- \ $(confflags) @@ -228,6 +262,10 @@ override_dh_install: rm debian/tmp/usr/lib/*/libglapi.so rm debian/tmp/usr/lib/*/libEGL_mesa.so rm debian/tmp/usr/lib/*/libGLX_mesa.so + ifneq (,$(filter $(DEB_HOST_ARCH), $(NVK_ARCHS))) + rm debian/tmp/usr/bin/mme_fermi_sim_hw_test + rm debian/tmp/usr/bin/mme_tu104_sim_hw_test + endif # use -f here though rm -f debian/tmp/usr/lib/*/libgrl.a @@ -290,6 +328,7 @@ regen_control: sed -e"s,@LLVM_VERSION@,$(LLVM_VERSION),g" \ -e"s,@LLVM_ARCHS@,$(LLVM_ARCHS),g" \ -e"s,@RUSTICL_ARCHS@,$(RUSTICL_ARCHS),g" \ + -e"s,@NVK_ARCHS@,$(NVK_ARCHS),g" \ -e"s,@VALGRIND_ARCHS@,$(VALGRIND_ARCHS),g" \ -e"s,@WINE_ARCHS@,$(WINE_ARCHS),g" \ debian/control.in > debian/control diff --git a/patches/0004_aco:_Limit_rt_stages_to_128_vgprs.patch b/patches/0004_aco:_Limit_rt_stages_to_128_vgprs.patch deleted file mode 100644 index 0cb7974..0000000 --- a/patches/0004_aco:_Limit_rt_stages_to_128_vgprs.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 15f2c9c55318ec28d26f5812fe37f658e38d515d Mon Sep 17 00:00:00 2001 -From: Friedrich Vock -Date: Sat, 1 Jun 2024 11:57:04 +0200 -Subject: aco: Limit rt stages to 128 vgprs - -Totals from 35472 (7.40% of 479373) affected shaders: - -MaxWaves: 206239 -> 283776 (+37.60%) -Instrs: 193922210 -> 202721106 (+4.54%) -CodeSize: 1056819972 -> 1110833680 (+5.11%); split: -0.00%, +5.11% -VGPRs: 6026704 -> 4540416 (-24.66%) -SpillSGPRs: 23742 -> 25754 (+8.47%) -SpillVGPRs: 118897 -> 2295118 (+1830.34%) -Scratch: 7201792 -> 152752128 (+2021.03%) -Latency: 2713432565 -> 3194796286 (+17.74%); split: -0.20%, +17.94% -InvThroughput: 1052131232 -> 935049835 (-11.13%); split: -16.59%, +5.46% -VClause: 6972784 -> 8716721 (+25.01%); split: -0.02%, +25.03% -SClause: 4879313 -> 4852452 (-0.55%); split: -0.88%, +0.33% -Copies: 32782141 -> 35223995 (+7.45%) -Branches: 11075847 -> 11094087 (+0.16%); split: -0.00%, +0.17% -VALU: 118525960 -> 120929058 (+2.03%) -SALU: 33924572 -> 33973293 (+0.14%); split: -0.03%, +0.17% -VMEM: 12419116 -> 17104582 (+37.73%) -Part-of: ---- - src/amd/compiler/aco_ir.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/amd/compiler/aco_ir.cpp b/src/amd/compiler/aco_ir.cpp -index 05f0745e6a7..b51e30cd2ee 100644 ---- a/src/amd/compiler/aco_ir.cpp -+++ b/src/amd/compiler/aco_ir.cpp -@@ -94,7 +94,7 @@ init_program(Program* program, Stage stage, const struct aco_shader_info* info, - /* apparently gfx702 also has 16-bank LDS but I can't find a family for that */ - program->dev.has_16bank_lds = family == CHIP_KABINI || family == CHIP_STONEY; - -- program->dev.vgpr_limit = 256; -+ program->dev.vgpr_limit = stage == raytracing_cs ? 128 : 256; - program->dev.physical_vgprs = 256; - program->dev.vgpr_alloc_granule = 4; - --- -cgit v1.2.3 - diff --git a/patches/series b/patches/series index 2c4b812..ce23eec 100644 --- a/patches/series +++ b/patches/series @@ -1,6 +1,2 @@ path_max.diff src_glx_dri_common.h.diff - -#kisak-mesa PPA Backports: -version -0004_aco:_Limit_rt_stages_to_128_vgprs.patch