Compare commits

..

No commits in common. "main" and "lunar" have entirely different histories.
main ... lunar

63 changed files with 2339 additions and 6582 deletions

View File

@ -1 +0,0 @@
1

View File

@ -1 +0,0 @@
1

View File

@ -1 +0,0 @@
4

View File

@ -1 +0,0 @@
4

View File

@ -1 +0,0 @@
1

View File

@ -1 +0,0 @@
1

View File

@ -1 +0,0 @@
2

View File

@ -1 +0,0 @@
3

View File

@ -1 +0,0 @@
1

View File

@ -1,37 +0,0 @@
name: PikaOS Package Build Only (Canary) (i386)
on:
push:
branches:
- main
paths:
- '.github/build-canary-i386'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:canaryi386
volumes:
- /proc:/proc
options: --privileged -it
steps:
- uses: actions/checkout@v3
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Update APT Cache
run: apt-get update -y
- name: Set Build Config
run: cp -vf ./pika-build-config/i386.sh ./pika-build-config.sh
- name: Build Package
run: ./main.sh

View File

@ -1,37 +0,0 @@
name: PikaOS Package Build Only (Canary) (amd64-v3)
on:
push:
branches:
- main
paths:
- '.github/build-canary-v3'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3
volumes:
- /proc:/proc
options: --privileged -it
steps:
- uses: actions/checkout@v3
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Update APT Cache
run: apt-get update -y
- name: Set Build Config
run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh
- name: Build Package
run: ./main.sh

View File

@ -1,37 +0,0 @@
name: PikaOS Package Build Only (i386)
on:
push:
branches:
- main
paths:
- '.github/build-nest-i386'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:nesti386
volumes:
- /proc:/proc
options: --privileged -it
steps:
- uses: actions/checkout@v3
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Update APT Cache
run: apt-get update -y
- name: Set Build Config
run: cp -vf ./pika-build-config/i386.sh ./pika-build-config.sh
- name: Build Package
run: ./main.sh

View File

@ -1,37 +0,0 @@
name: PikaOS Package Build Only (amd64-v3)
on:
push:
branches:
- main
paths:
- '.github/build-nest-v3'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:nestv3
volumes:
- /proc:/proc
options: --privileged -it
steps:
- uses: actions/checkout@v3
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Update APT Cache
run: apt-get update -y
- name: Set Build Config
run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh
- name: Build Package
run: ./main.sh

View File

@ -1,40 +0,0 @@
name: PikaOS Package Build & Release (Canary) (i386)
on:
push:
branches:
- main
paths:
- '.github/release-canary-i386'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:canaryi386
volumes:
- /proc:/proc
options: --privileged -it
steps:
- uses: actions/checkout@v3
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Update APT Cache
run: apt-get update -y
- name: Set Build Config
run: cp -vf ./pika-build-config/i386.sh ./pika-build-config.sh
- name: Build Package
run: ./main.sh
- name: Release Package
run: ./release.sh

View File

@ -1,40 +0,0 @@
name: PikaOS Package Build & Release (Canary) (amd64-v3)
on:
push:
branches:
- main
paths:
- '.github/release-canary-v3'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3
volumes:
- /proc:/proc
options: --privileged -it
steps:
- uses: actions/checkout@v3
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Update APT Cache
run: apt-get update -y
- name: Set Build Config
run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh
- name: Build Package
run: ./main.sh
- name: Release Package
run: ./release.sh

View File

@ -1,40 +0,0 @@
name: PikaOS Package Build & Release (amd64-v3 on debian)
on:
push:
branches:
- main
paths:
- '.github/release-debian-v3'
jobs:
build:
runs-on: ubuntu-latest
container:
image: debian:sid
volumes:
- /proc:/proc
options: --privileged -it
steps:
- name: Update APT Cache
run: apt-get update -y && apt install -y git devscripts dh-make nodejs npm sudo rsync ssh
- uses: actions/checkout@v3
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Set Build Config
run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh
- name: Build Package
run: ./main.sh
- name: Release Package
run: ./release.sh

View File

@ -1,40 +0,0 @@
name: PikaOS Package Build & Release (i386)
on:
push:
branches:
- main
paths:
- '.github/release-nest-i386'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:nesti386
volumes:
- /proc:/proc
options: --privileged -it
steps:
- uses: actions/checkout@v3
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Update APT Cache
run: apt-get update -y
- name: Set Build Config
run: cp -vf ./pika-build-config/i386.sh ./pika-build-config.sh
- name: Build Package
run: ./main.sh
- name: Release Package
run: ./release.sh

View File

@ -1,40 +0,0 @@
name: PikaOS Package Build & Release (amd64-v3)
on:
push:
branches:
- main
paths:
- '.github/release-nest-v3'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/pikaos-linux/pikaos-builder:nestv3
volumes:
- /proc:/proc
options: --privileged -it
steps:
- uses: actions/checkout@v3
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Update APT Cache
run: apt-get update -y
- name: Set Build Config
run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh
- name: Build Package
run: ./main.sh
- name: Release Package
run: ./release.sh

49
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,49 @@
name: PikaOS Package Release
on:
workflow_dispatch
jobs:
build:
runs-on: self-hosted
container:
image: ghcr.io/pikaos-linux/pika-package-container:latest
volumes:
- /proc:/proc
options: --privileged -it
steps:
- uses: actions/checkout@v3
- name: Import GPG key
id: import_gpg
uses: crazy-max/ghaction-import-gpg@v5
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.PASSPHRASE }}
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Update apt cache
run: apt-get update -y
- name: Build Package
run: ./main.sh
- name: Release Package
run: ./release.sh
- name: Purge cache
uses: strrife/cloudflare-chunked-purge-action@master
env:
# Zone is required by both authentication methods
CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }}
CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}
PURGE_URLS: ${{ vars.PURGE_URLS }}

49
.github/workflows/release_i386.yml vendored Normal file
View File

@ -0,0 +1,49 @@
name: PikaOS Package Release (i386)
on:
workflow_dispatch
jobs:
build:
runs-on: self-hosted
container:
image: ghcr.io/pikaos-linux/pika-i386-package-container:latest
volumes:
- /proc:/proc
options: --privileged -it
steps:
- uses: actions/checkout@v3
- name: Import GPG key
id: import_gpg
uses: crazy-max/ghaction-import-gpg@v5
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.PASSPHRASE }}
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
if_key_exists: replace
- name: Update apt cache
run: apt-get update -y
- name: Build Package
run: ./main32.sh
- name: Release Package
run: ./release.sh
- name: Purge cache
uses: strrife/cloudflare-chunked-purge-action@master
env:
# Zone is required by both authentication methods
CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }}
CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}
PURGE_URLS: ${{ vars.PURGE_URLS }}

View File

@ -1,24 +0,0 @@
MIT License (With DPKG packaging compatibility)
Copyright (c) 2024 PikaOS
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 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 THE
AUTHORS OR COPYRIGHT HOLDERS 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.
Notes:
The files covered by this license are any files and directories in the root of this repository (including but not limited to: `main.sh`, `release.sh`, and `.github`), with the exception of the `debian` directory and its contents if `debian/copyright` exists, and declares any files or directories as a different LICENSE/COPYRIGHT.

View File

@ -16,9 +16,9 @@ debian/patches and add the name of the patch to debian/patches/series.
The X Strike Force team maintains X packages in git repositories on
salsa.debian.org in the xorg-team subdirectory. Most upstream packages
git.debian.org in the pkg-xorg subdirectory. Most upstream packages
are actually maintained in git repositories as well, so they often
just need to be pulled into salsa.debian.org in a "upstream-*" branch.
just need to be pulled into git.debian.org in a "upstream-*" branch.
The .orig.tar.gz is upstream's mesa tarball.

5892
debian/changelog vendored

File diff suppressed because it is too large Load Diff

64
debian/control vendored
View File

@ -1,30 +1,27 @@
Source: mesa
Section: graphics
Priority: optional
Maintainer: Ki'Sak <kisak.ppa@gmail.com>
XSBC-Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
Uploaders: Ki'Sak <kisak.ppa@gmail.com>
Maintainer: First Mate Rummey <fmrummey@gmail.com>
XSBC-Original-Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com>
Uploaders: Andreas Boll <aboll@debian.org>
Standards-Version: 4.1.4
Build-Depends:
debhelper-compat (= 13),
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],
glslang-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
meson (>= 1.4.0),
debhelper-compat (= 12),
directx-headers-dev (>= 1.602.0) [linux-amd64 linux-arm64],
glslang-tools [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
meson (>= 0.45),
quilt (>= 0.63-8.2~),
pkgconf,
libdrm-dev (>= 2.4.121),
pkg-config,
libdrm-dev (>= 2.4.107-4),
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] <!pkg.mesa.nolibva>,
libvdpau-dev (>= 1.5) [linux-any],
libvulkan-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
libva-dev (>= 1.6.0) [linux-any kfreebsd-any] <!pkg.mesa.nolibva>,
libvdpau-dev (>= 1.1.1) [linux-any kfreebsd-any],
libvulkan-dev [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
x11proto-dev,
linux-libc-dev (>= 2.6.31) [linux-any],
libx11-xcb-dev,
@ -38,36 +35,29 @@ 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 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
libelf-dev [amd64 arm64 armel armhf i386 mips64el mipsel 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 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),
llvm-15-dev [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
libclang-15-dev [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
libclang-cpp15-dev [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
libclc-15-dev [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32],
wayland-protocols (>= 1.24),
zlib1g-dev,
libglvnd-core-dev (>= 1.3.2),
valgrind [amd64 arm64 armhf i386 mips64el powerpc ppc64 ppc64el s390x],
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],
valgrind [amd64 arm64 armhf i386 mips64el mipsel powerpc ppc64 ppc64el s390x],
rustc [amd64 arm64 armel armhf mips64el mipsel ppc64el s390x],
bindgen [amd64 arm64 armel armhf mips64el mipsel ppc64el s390x],
llvm-spirv-15 [amd64 arm64 armel armhf mips64el mipsel ppc64el s390x],
libclc-15 [amd64 arm64 armel armhf mips64el mipsel ppc64el s390x],
libllvmspirvlib-15-dev,
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
@ -408,8 +398,6 @@ Breaks:
libgl1-amber-dri (<< 21.3.9)
Replaces:
libgl1-amber-dri (<< 21.3.9), libgl1-mesa-dri-git
Provides:
mesa-libgallium (= ${binary:Version})
Conflicts: libgl1-mesa-dri-git
Multi-Arch: same
Description: free implementation of the OpenGL API -- DRI modules
@ -556,7 +544,7 @@ Section: libs
Architecture: amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32
Pre-Depends: ${misc:Pre-Depends}
Depends: libmesa-stable,
libclc-17,
libclc-15,
ocl-icd-libopencl1 | libopencl1,
${shlibs:Depends},
${misc:Depends},
@ -584,4 +572,4 @@ Description: DRM shim libraries
This package provides drm-shim libraries which can be used for testing DRM drivers when
none exists on the host
# vim: tw=0
# vim: tw=0

44
debian/control.in vendored
View File

@ -1,29 +1,26 @@
Source: mesa
Section: graphics
Priority: optional
Maintainer: Ki'Sak <kisak.ppa@gmail.com>
XSBC-Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
Uploaders: Ki'Sak <kisak.ppa@gmail.com>
Maintainer: First Mate Rummey <fmrummey@gmail.com>
XSBC-Original-Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com>
Uploaders: Andreas Boll <aboll@debian.org>
Standards-Version: 4.1.4
Build-Depends:
debhelper-compat (= 13),
directx-headers-dev (>= 1.613.0) [linux-amd64 linux-arm64],
flatbuffers-compiler [linux-arm64],
debhelper-compat (= 12),
directx-headers-dev (>= 1.602.0) [linux-amd64 linux-arm64],
glslang-tools [@LLVM_ARCHS@],
glslang-dev [@LLVM_ARCHS@],
meson (>= 1.4.0),
meson (>= 0.45),
quilt (>= 0.63-8.2~),
pkgconf,
libdrm-dev (>= 2.4.121),
pkg-config,
libdrm-dev (>= 2.4.107-4),
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] <!pkg.mesa.nolibva>,
libvdpau-dev (>= 1.5) [linux-any],
libva-dev (>= 1.6.0) [linux-any kfreebsd-any] <!pkg.mesa.nolibva>,
libvdpau-dev (>= 1.1.1) [linux-any kfreebsd-any],
libvulkan-dev [@LLVM_ARCHS@],
x11proto-dev,
linux-libc-dev (>= 2.6.31) [linux-any],
@ -38,13 +35,10 @@ 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,
@ -55,19 +49,15 @@ Build-Depends:
libclang-@LLVM_VERSION@-dev [@LLVM_ARCHS@],
libclang-cpp@LLVM_VERSION@-dev [@LLVM_ARCHS@],
libclc-@LLVM_VERSION@-dev [@LLVM_ARCHS@],
libclc-@LLVM_VERSION@ [@LLVM_ARCHS@],
wayland-protocols (>= 1.34),
wayland-protocols (>= 1.24),
zlib1g-dev,
libglvnd-core-dev (>= 1.3.2),
valgrind [@VALGRIND_ARCHS@],
rustc (>= 1.73) [@RUSTICL_ARCHS@],
rustfmt [@RUSTICL_ARCHS@],
bindgen (>= 0.66.1~) [@RUSTICL_ARCHS@],
cbindgen [@RUSTICL_ARCHS@],
rustc [@RUSTICL_ARCHS@],
bindgen [@RUSTICL_ARCHS@],
llvm-spirv-@LLVM_VERSION@ [@RUSTICL_ARCHS@],
libllvmspirvlib-@LLVM_VERSION@-dev [@LLVM_ARCHS@],
librust-paste-dev [@NVK_ARCHS@],
librust-syn-dev [@NVK_ARCHS@],
libclc-@LLVM_VERSION@ [@RUSTICL_ARCHS@],
libllvmspirvlib-@LLVM_VERSION@-dev,
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
@ -407,8 +397,6 @@ Breaks:
libgl1-amber-dri (<< 21.3.9)
Replaces:
libgl1-amber-dri (<< 21.3.9), libgl1-mesa-dri-git
Provides:
mesa-libgallium (= ${binary:Version})
Conflicts: libgl1-mesa-dri-git
Multi-Arch: same
Description: free implementation of the OpenGL API -- DRI modules
@ -583,4 +571,4 @@ Description: DRM shim libraries
This package provides drm-shim libraries which can be used for testing DRM drivers when
none exists on the host
# vim: tw=0
# vim: tw=0

2
debian/libegl-mesa0.symbols vendored Normal file
View File

@ -0,0 +1,2 @@
libEGL_mesa.so.0 libegl-mesa0 #MINVER#
__egl_Main@Base 17.0.0~

View File

@ -1 +1 @@
symbols-declares-dependency-on-other-package libgbm1-private (libgbm.so.1) [symbols]
symbols-declares-dependency-on-other-package libgbm1-private

40
debian/libgbm1.symbols vendored Normal file
View File

@ -0,0 +1,40 @@
libgbm.so.1 libgbm1 #MINVER#
| libgbm1-private
gbm_bo_create@Base 7.11~1
gbm_bo_create_with_modifiers2@Base 21.3.0~rc1
gbm_bo_create_with_modifiers@Base 17.1.0~rc2
gbm_bo_destroy@Base 7.11~1
gbm_bo_get_bpp@Base 17.3.0~rc1
gbm_bo_get_device@Base 8.1~0
gbm_bo_get_fd@Base 10.2~0
gbm_bo_get_fd_for_plane@Base 21.1.0
gbm_bo_get_format@Base 8.1~0
gbm_bo_get_handle@Base 7.11~1
gbm_bo_get_handle_for_plane@Base 17.1.0~rc2
gbm_bo_get_height@Base 7.11~1
gbm_bo_get_modifier@Base 17.1.0~rc2
gbm_bo_get_offset@Base 17.1.0~rc2
gbm_bo_get_plane_count@Base 17.1.0~rc2
gbm_bo_get_stride@Base 8.1~0
gbm_bo_get_stride_for_plane@Base 17.1.0~rc2
gbm_bo_get_user_data@Base 8.1~0
gbm_bo_get_width@Base 7.11~1
gbm_bo_import@Base 8.1~0
gbm_bo_map@Base 12.0.0~0
gbm_bo_set_user_data@Base 8.1~0
gbm_bo_unmap@Base 12.0.0~0
gbm_bo_write@Base 8.1~0
gbm_create_device@Base 7.11~1
gbm_device_destroy@Base 7.11~1
gbm_device_get_backend_name@Base 7.11~1
gbm_device_get_fd@Base 7.11~1
gbm_device_get_format_modifier_plane_count@Base 17.3.0~rc1
gbm_device_is_format_supported@Base 8.1~0
gbm_format_get_name@Base 19.0.0~rc5
gbm_surface_create@Base 8.1~0
gbm_surface_create_with_modifiers2@Base 21.3.0~rc1
gbm_surface_create_with_modifiers@Base 17.1.0~rc2
gbm_surface_destroy@Base 8.1~0
gbm_surface_has_free_buffers@Base 8.1~0
gbm_surface_lock_front_buffer@Base 8.1~0
gbm_surface_release_buffer@Base 8.1~0

View File

@ -1,2 +1 @@
usr/share/drirc.d/00-mesa-defaults.conf
usr/lib/*/libgallium-*.so

1300
debian/libglx-mesa0.symbols vendored Normal file

File diff suppressed because it is too large Load Diff

6
debian/libglx-mesa0.symbols.hurd vendored Normal file
View File

@ -0,0 +1,6 @@
libGLX_mesa.so.0 libglx-mesa0
__glx_Main@Base 17.0.0~
glAreTexturesResidentEXT@Base 0
glDeleteTexturesEXT@Base 0
glGenTexturesEXT@Base 0
glIsTextureEXT@Base 0

35
debian/libxatracker2.symbols vendored Normal file
View File

@ -0,0 +1,35 @@
libxatracker.so.2 libxatracker2 #MINVER#
xa_composite_allocation@Base 0
xa_composite_check_accelerated@Base 0
xa_composite_done@Base 0
xa_composite_prepare@Base 0
xa_composite_rect@Base 0
xa_context_create@Base 0
xa_context_default@Base 0
xa_context_destroy@Base 0
xa_context_flush@Base 0
xa_copy@Base 0
xa_copy_done@Base 0
xa_copy_prepare@Base 0
xa_fence_destroy@Base 0
xa_fence_get@Base 0
xa_fence_wait@Base 0
xa_format_check_supported@Base 0
xa_solid@Base 0
xa_solid_done@Base 0
xa_solid_prepare@Base 0
xa_surface_create@Base 0
xa_surface_dma@Base 0
xa_surface_format@Base 0
xa_surface_from_handle2@Base 11.1.0~
xa_surface_from_handle@Base 0
xa_surface_handle@Base 0
xa_surface_map@Base 0
xa_surface_redefine@Base 0
xa_surface_ref@Base 0
xa_surface_unmap@Base 0
xa_surface_unref@Base 0
xa_tracker_create@Base 0
xa_tracker_destroy@Base 0
xa_tracker_version@Base 0
xa_yuv_planar_blit@Base 0

View File

@ -1,4 +0,0 @@
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

View File

@ -1 +0,0 @@
activate-noawait ldconfig

View File

@ -1,4 +1,2 @@
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]
package-name-doesnt-match-sonames libMesaOpenCL1
package-name-doesnt-match-sonames libRusticlOpenCL

View File

@ -1 +0,0 @@
usr/lib/*/libteflon.so usr/lib/teflon

View File

@ -1,9 +1,10 @@
usr/bin/mesa-overlay-control.py
#dozen usr/bin/spirv2dxil
usr/share/drirc.d/00-radv-defaults.conf
usr/share/vulkan/explicit_layer.d/*.json
usr/share/vulkan/icd.d/*.json
usr/share/vulkan/implicit_layer.d/*.json
usr/lib/*/libvulkan_*.so
usr/lib/*/libVkLayer_*.so
#dozen usr/lib/*/libspirv_to_dxil.*
# microsoft
#usr/bin/spirv2dxil
#usr/lib/x86_64-linux-gnu/libspirv_to_dxil.*

View File

@ -1,12 +1,3 @@
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
package-name-doesnt-match-sonames libvulkan-intel libvulkan-radeon
shlib-without-versioned-soname usr/lib/*/libvulkan_intel.so libvulkan_intel.so
shlib-without-versioned-soname usr/lib/*/libvulkan_radeon.so libvulkan_radeon.so

View File

@ -0,0 +1,42 @@
From add3b34c171821804049084cf9d252a72cc54e2b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timur=20Krist=C3=B3f?= <timur.kristof@gmail.com>
Date: Tue, 11 Apr 2023 13:59:49 +0200
Subject: radv/amdgpu: Remove unnecessary assertions from chaining.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
These used to guard against chaining on GFX6 and on HW IP types
that don't support chaining, but these things are now guarded
elsewhere and these assertions are no longer necessary.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22406>
---
src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
index 7107fc0b896..1b8f9b86c34 100644
--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
+++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
@@ -482,7 +482,6 @@ radv_amdgpu_cs_unchain(struct radeon_cmdbuf *cs)
return;
assert(cs->cdw <= cs->max_dw + 4);
- assert(get_nop_packet(acs) == PKT3_NOP_PAD); /* Other shouldn't chain. */
acs->chained_to = NULL;
cs->buf[cs->cdw - 4] = PKT3_NOP_PAD;
@@ -511,7 +510,6 @@ radv_amdgpu_cs_chain(struct radeon_cmdbuf *cs, struct radeon_cmdbuf *next_cs, bo
return false;
assert(cs->cdw <= cs->max_dw + 4);
- assert(get_nop_packet(acs) == PKT3_NOP_PAD); /* Other shouldn't chain. */
acs->chained_to = next_acs;
--
cgit v1.2.1

View File

@ -0,0 +1,33 @@
From 0e7244ce1848978022cb6f24683eb2cfdfd7fbbb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timur=20Krist=C3=B3f?= <timur.kristof@gmail.com>
Date: Tue, 11 Apr 2023 02:29:38 +0200
Subject: radv: Disallow IB2 on GFX6 when using draw_indirect_multi.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
GFX6 has the same problem as GFX7 here.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22406>
---
src/amd/vulkan/radv_cmd_buffer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index 8eae45769ab..cb031b95173 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -7498,7 +7498,7 @@ radv_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCou
RADV_FROM_HANDLE(radv_cmd_buffer, secondary, pCmdBuffers[i]);
bool allow_ib2 = true;
- if (secondary->device->physical_device->rad_info.gfx_level == GFX7 &&
+ if (secondary->device->physical_device->rad_info.gfx_level <= GFX7 &&
secondary->state.uses_draw_indirect_multi) {
/* Do not launch an IB2 for secondary command buffers that contain
* DRAW_{INDEX}_INDIRECT_MULTI on GFX7 because it's illegal and hang the GPU.
--
cgit v1.2.1

View File

@ -0,0 +1,36 @@
From d6518fd3571e315a7a7e62af5e1abbfdb3a3b97b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timur=20Krist=C3=B3f?= <timur.kristof@gmail.com>
Date: Tue, 11 Apr 2023 02:30:10 +0200
Subject: radv: Use IB BOs (chaining) by default on GFX6.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
GFX6 supports IB chaining since the PFP firmware version 20.
Note that the very first amdgpu firmware for GFX6 already had
version 29, so we can assume that all GPUs supported by RADV
have this feature.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22406>
---
src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c
index ec85e7249c4..c944d2d422e 100644
--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c
+++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c
@@ -62,7 +62,7 @@ do_winsys_init(struct radv_amdgpu_winsys *ws, int fd)
ws->info.ip[AMD_IP_SDMA].num_queues = MIN2(ws->info.ip[AMD_IP_SDMA].num_queues, MAX_RINGS_PER_TYPE);
ws->info.ip[AMD_IP_COMPUTE].num_queues = MIN2(ws->info.ip[AMD_IP_COMPUTE].num_queues, MAX_RINGS_PER_TYPE);
- ws->use_ib_bos = ws->info.gfx_level >= GFX7;
+ ws->use_ib_bos = true;
return true;
}
--
cgit v1.2.1

View File

@ -0,0 +1,46 @@
From 7ddac41f3f5919be748143d8a570cc3b1f4ed27c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timur=20Krist=C3=B3f?= <timur.kristof@gmail.com>
Date: Tue, 11 Apr 2023 02:31:28 +0200
Subject: radv: Chain command buffers on GFX6 in radv_queue.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Also don't check whether chaining is enabled in radv_queue, the
winsys will take care of that anyway.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22406>
---
src/amd/vulkan/radv_queue.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/amd/vulkan/radv_queue.c b/src/amd/vulkan/radv_queue.c
index 0823e545a19..e00d448ed18 100644
--- a/src/amd/vulkan/radv_queue.c
+++ b/src/amd/vulkan/radv_queue.c
@@ -1693,9 +1693,6 @@ radv_queue_submit_normal(struct radv_queue *queue, struct vk_queue_submit *submi
.uses_shadow_regs = queue->state.uses_shadow_regs,
};
- const bool chaining_en = !(queue->device->instance->debug_flags & RADV_DEBUG_NO_IBS) &&
- queue->device->physical_device->rad_info.gfx_level >= GFX7;
-
for (uint32_t j = 0, advance; j < cmd_buffer_count; j += advance) {
advance = MIN2(max_cs_submission, cmd_buffer_count - j);
const bool last_submit = j + advance == cmd_buffer_count;
@@ -1714,8 +1711,8 @@ radv_queue_submit_normal(struct radv_queue *queue, struct vk_queue_submit *submi
struct radv_cmd_buffer *cmd_buffer =
(struct radv_cmd_buffer *)submission->command_buffers[j + c];
assert(cmd_buffer->vk.level == VK_COMMAND_BUFFER_LEVEL_PRIMARY);
- const bool can_chain_next = chaining_en && !(cmd_buffer->usage_flags &
- VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT);
+ const bool can_chain_next =
+ !(cmd_buffer->usage_flags & VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT);
/* ACE needs to be first because the last CS must match the queue's IP type. */
if (radv_cmd_buffer_needs_ace(cmd_buffer)) {
--
cgit v1.2.1

View File

@ -0,0 +1,153 @@
From 948a122f300b3df036fea1a8e14301295062e360 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timur=20Krist=C3=B3f?= <timur.kristof@gmail.com>
Date: Thu, 13 Apr 2023 17:23:40 +0200
Subject: amd: Rename INDIRECT_BUFFER_CIK to just INDIRECT_BUFFER.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This packet is supported on GFX6 too, its name should relect that.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22406>
---
src/amd/common/ac_debug.c | 2 +-
src/amd/common/sid.h | 2 +-
src/amd/vulkan/radv_cmd_buffer.c | 6 +++---
src/amd/vulkan/radv_cp_reg_shadowing.c | 2 +-
src/amd/vulkan/radv_queue.c | 2 +-
src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c | 6 +++---
src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 2 +-
7 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/amd/common/ac_debug.c b/src/amd/common/ac_debug.c
index 9c0d9436f48..3503ff23f5c 100644
--- a/src/amd/common/ac_debug.c
+++ b/src/amd/common/ac_debug.c
@@ -449,7 +449,7 @@ static void ac_parse_packet3(FILE *f, uint32_t header, struct ac_ib_parser *ib,
break;
case PKT3_INDIRECT_BUFFER_SI:
case PKT3_INDIRECT_BUFFER_CONST:
- case PKT3_INDIRECT_BUFFER_CIK: {
+ case PKT3_INDIRECT_BUFFER: {
uint32_t base_lo_dw = ac_ib_get(ib);
ac_dump_reg(f, ib->gfx_level, ib->family, R_3F0_IB_BASE_LO, base_lo_dw, ~0);
uint32_t base_hi_dw = ac_ib_get(ib);
diff --git a/src/amd/common/sid.h b/src/amd/common/sid.h
index 5bc60316c82..0c860c1acbd 100644
--- a/src/amd/common/sid.h
+++ b/src/amd/common/sid.h
@@ -132,7 +132,7 @@
#define WAIT_REG_MEM_MEM_SPACE(x) (((unsigned)(x)&0x3) << 4)
#define WAIT_REG_MEM_PFP (1 << 8)
#define PKT3_MEM_WRITE 0x3D /* GFX6 only */
-#define PKT3_INDIRECT_BUFFER_CIK 0x3F /* GFX7+ */
+#define PKT3_INDIRECT_BUFFER 0x3F /* GFX6+ */
#define PKT3_COPY_DATA 0x40
#define COPY_DATA_SRC_SEL(x) ((x)&0xf)
#define COPY_DATA_REG 0
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index cb031b95173..343cd6ca9f8 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -9509,7 +9509,7 @@ radv_CmdExecuteGeneratedCommandsNV(VkCommandBuffer commandBuffer, VkBool32 isPre
return;
/* Secondary command buffers are needed for the full extension but can't use
- * PKT3_INDIRECT_BUFFER_CIK.
+ * PKT3_INDIRECT_BUFFER.
*/
assert(cmd_buffer->vk.level == VK_COMMAND_BUFFER_LEVEL_PRIMARY);
@@ -9539,7 +9539,7 @@ radv_CmdExecuteGeneratedCommandsNV(VkCommandBuffer commandBuffer, VkBool32 isPre
radeon_emit(cmd_buffer->cs, 0);
if (!view_mask) {
- radeon_emit(cmd_buffer->cs, PKT3(PKT3_INDIRECT_BUFFER_CIK, 2, 0));
+ radeon_emit(cmd_buffer->cs, PKT3(PKT3_INDIRECT_BUFFER, 2, 0));
radeon_emit(cmd_buffer->cs, va);
radeon_emit(cmd_buffer->cs, va >> 32);
radeon_emit(cmd_buffer->cs, cmdbuf_size >> 2);
@@ -9547,7 +9547,7 @@ radv_CmdExecuteGeneratedCommandsNV(VkCommandBuffer commandBuffer, VkBool32 isPre
u_foreach_bit (view, view_mask) {
radv_emit_view_index(cmd_buffer, view);
- radeon_emit(cmd_buffer->cs, PKT3(PKT3_INDIRECT_BUFFER_CIK, 2, 0));
+ radeon_emit(cmd_buffer->cs, PKT3(PKT3_INDIRECT_BUFFER, 2, 0));
radeon_emit(cmd_buffer->cs, va);
radeon_emit(cmd_buffer->cs, va >> 32);
radeon_emit(cmd_buffer->cs, cmdbuf_size >> 2);
diff --git a/src/amd/vulkan/radv_cp_reg_shadowing.c b/src/amd/vulkan/radv_cp_reg_shadowing.c
index 3f46b7c1619..dac9411c03b 100644
--- a/src/amd/vulkan/radv_cp_reg_shadowing.c
+++ b/src/amd/vulkan/radv_cp_reg_shadowing.c
@@ -112,7 +112,7 @@ radv_emit_shadow_regs_preamble(struct radeon_cmdbuf *cs, const struct radv_devic
struct radv_queue_state *queue_state)
{
uint64_t va = radv_buffer_get_va(queue_state->shadow_regs_ib);
- radeon_emit(cs, PKT3(PKT3_INDIRECT_BUFFER_CIK, 2, 0));
+ radeon_emit(cs, PKT3(PKT3_INDIRECT_BUFFER, 2, 0));
radeon_emit(cs, va);
radeon_emit(cs, va >> 32);
radeon_emit(cs, queue_state->shadow_regs_ib_size_dw & 0xffff);
diff --git a/src/amd/vulkan/radv_queue.c b/src/amd/vulkan/radv_queue.c
index e00d448ed18..b28797547be 100644
--- a/src/amd/vulkan/radv_queue.c
+++ b/src/amd/vulkan/radv_queue.c
@@ -828,7 +828,7 @@ radv_init_graphics_state(struct radeon_cmdbuf *cs, struct radv_device *device)
if (device->gfx_init) {
uint64_t va = radv_buffer_get_va(device->gfx_init);
- radeon_emit(cs, PKT3(PKT3_INDIRECT_BUFFER_CIK, 2, 0));
+ radeon_emit(cs, PKT3(PKT3_INDIRECT_BUFFER, 2, 0));
radeon_emit(cs, va);
radeon_emit(cs, va >> 32);
radeon_emit(cs, device->gfx_init_size_dw & 0xffff);
diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
index 1b8f9b86c34..1caa359ebe6 100644
--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
+++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
@@ -372,7 +372,7 @@ radv_amdgpu_cs_grow(struct radeon_cmdbuf *_cs, size_t min_size)
cs->ws->base.cs_add_buffer(&cs->base, cs->ib_buffer);
if (cs->use_ib) {
- radeon_emit(&cs->base, PKT3(PKT3_INDIRECT_BUFFER_CIK, 2, 0));
+ radeon_emit(&cs->base, PKT3(PKT3_INDIRECT_BUFFER, 2, 0));
radeon_emit(&cs->base, radv_amdgpu_winsys_bo(cs->ib_buffer)->base.va);
radeon_emit(&cs->base, radv_amdgpu_winsys_bo(cs->ib_buffer)->base.va >> 32);
radeon_emit(&cs->base, S_3F2_CHAIN(1) | S_3F2_VALID(1));
@@ -513,7 +513,7 @@ radv_amdgpu_cs_chain(struct radeon_cmdbuf *cs, struct radeon_cmdbuf *next_cs, bo
acs->chained_to = next_acs;
- cs->buf[cs->cdw - 4] = PKT3(PKT3_INDIRECT_BUFFER_CIK, 2, 0);
+ cs->buf[cs->cdw - 4] = PKT3(PKT3_INDIRECT_BUFFER, 2, 0);
cs->buf[cs->cdw - 3] = next_acs->ib.ib_mc_address;
cs->buf[cs->cdw - 2] = next_acs->ib.ib_mc_address >> 32;
cs->buf[cs->cdw - 1] =
@@ -667,7 +667,7 @@ radv_amdgpu_cs_execute_secondary(struct radeon_cmdbuf *_parent, struct radeon_cm
radv_amdgpu_cs_grow(&parent->base, 4);
/* Not setting the CHAIN bit will launch an IB2. */
- radeon_emit(&parent->base, PKT3(PKT3_INDIRECT_BUFFER_CIK, 2, 0));
+ radeon_emit(&parent->base, PKT3(PKT3_INDIRECT_BUFFER, 2, 0));
radeon_emit(&parent->base, child->ib.ib_mc_address);
radeon_emit(&parent->base, child->ib.ib_mc_address >> 32);
radeon_emit(&parent->base, child->ib.size);
diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
index 8ecd79df109..8916002cad4 100644
--- a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
+++ b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
@@ -1148,7 +1148,7 @@ static bool amdgpu_cs_check_space(struct radeon_cmdbuf *rcs, unsigned dw)
while ((rcs->current.cdw & ib_pad_dw_mask) != ib_pad_dw_mask - 3)
radeon_emit(rcs, PKT3_NOP_PAD);
- radeon_emit(rcs, PKT3(PKT3_INDIRECT_BUFFER_CIK, 2, 0));
+ radeon_emit(rcs, PKT3(PKT3_INDIRECT_BUFFER, 2, 0));
radeon_emit(rcs, va);
radeon_emit(rcs, va >> 32);
uint32_t *new_ptr_ib_size = &rcs->current.buf[rcs->current.cdw++];
--
cgit v1.2.1

View File

@ -0,0 +1,69 @@
From d16d9ef34550da313bbb45e5782136d6bb3b5964 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timur=20Krist=C3=B3f?= <timur.kristof@gmail.com>
Date: Mon, 17 Apr 2023 16:13:16 +0200
Subject: radv: Simplify IB2 workaround.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Move compute IB2 check to the winsys, because IB2 only works on
GFX queues and not any other queue types.
Then, simplify the workaround condition in the cmd buffer.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22533>
---
src/amd/vulkan/radv_cmd_buffer.c | 19 ++++++-------------
src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c | 2 +-
2 files changed, 7 insertions(+), 14 deletions(-)
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index 5cc066e7e65..6de52df3ef7 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -7503,20 +7503,13 @@ radv_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCou
for (uint32_t i = 0; i < commandBufferCount; i++) {
RADV_FROM_HANDLE(radv_cmd_buffer, secondary, pCmdBuffers[i]);
- bool allow_ib2 = true;
- if (secondary->device->physical_device->rad_info.gfx_level <= GFX7 &&
- secondary->state.uses_draw_indirect_multi) {
- /* Do not launch an IB2 for secondary command buffers that contain
- * DRAW_{INDEX}_INDIRECT_MULTI on GFX7 because it's illegal and hang the GPU.
- */
- allow_ib2 = false;
- }
-
- if (secondary->qf == RADV_QUEUE_COMPUTE) {
- /* IB2 packets are not supported on compute queues according to PAL. */
- allow_ib2 = false;
- }
+ /* Do not launch an IB2 for secondary command buffers that contain
+ * DRAW_{INDEX}_INDIRECT_MULTI on GFX7 because it's illegal and hang the GPU.
+ */
+ const bool allow_ib2 =
+ !secondary->state.uses_draw_indirect_multi ||
+ secondary->device->physical_device->rad_info.gfx_level >= GFX8;
primary->scratch_size_per_wave_needed =
MAX2(primary->scratch_size_per_wave_needed, secondary->scratch_size_per_wave_needed);
diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
index 1b007557571..ee2108bc4a4 100644
--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
+++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
@@ -648,7 +648,7 @@ radv_amdgpu_cs_execute_secondary(struct radeon_cmdbuf *_parent, struct radeon_cm
struct radv_amdgpu_cs *parent = radv_amdgpu_cs(_parent);
struct radv_amdgpu_cs *child = radv_amdgpu_cs(_child);
struct radv_amdgpu_winsys *ws = parent->ws;
- bool use_ib2 = parent->use_ib && allow_ib2;
+ const bool use_ib2 = parent->use_ib && allow_ib2 && parent->hw_ip == AMD_IP_GFX;
if (parent->status != VK_SUCCESS || child->status != VK_SUCCESS)
return;
--
cgit v1.2.1

View File

@ -0,0 +1,34 @@
From 46a14390d8bcb7e91620f94f9d7bde2dc449190d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timur=20Krist=C3=B3f?= <timur.kristof@gmail.com>
Date: Tue, 18 Apr 2023 12:56:04 +0200
Subject: radv: Remove IB2 workaround from mesh shader draws.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The GPUs which need the workaround do not support mesh shaders.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22533>
---
src/amd/vulkan/radv_cmd_buffer.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index 6de52df3ef7..e85e1fd9544 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -8115,8 +8115,6 @@ radv_cs_emit_indirect_mesh_draw_packet(struct radv_cmd_buffer *cmd_buffer, uint3
radeon_emit(cs, count_va >> 32);
radeon_emit(cs, stride);
radeon_emit(cs, V_0287F0_DI_SRC_SEL_AUTO_INDEX);
-
- cmd_buffer->state.uses_draw_indirect_multi = true;
}
ALWAYS_INLINE static void
--
cgit v1.2.1

View File

@ -0,0 +1,67 @@
From acce5c3fe1fa2930adb6cdc152f3c371b1d24290 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timur=20Krist=C3=B3f?= <timur.kristof@gmail.com>
Date: Tue, 18 Apr 2023 12:59:33 +0200
Subject: radv: Enable IB2 workaround on all indirect draws.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
IB2 packets hang GFX6 when they contain any indirect draws,
not just the MULTI versions.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22533>
---
src/amd/vulkan/radv_cmd_buffer.c | 8 ++++----
src/amd/vulkan/radv_private.h | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index e85e1fd9544..541454c8f2d 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -7505,10 +7505,10 @@ radv_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCou
RADV_FROM_HANDLE(radv_cmd_buffer, secondary, pCmdBuffers[i]);
/* Do not launch an IB2 for secondary command buffers that contain
- * DRAW_{INDEX}_INDIRECT_MULTI on GFX7 because it's illegal and hang the GPU.
+ * DRAW_{INDEX}_INDIRECT_{MULTI} on GFX6-7 because it's illegal and hangs the GPU.
*/
const bool allow_ib2 =
- !secondary->state.uses_draw_indirect_multi ||
+ !secondary->state.uses_draw_indirect ||
secondary->device->physical_device->rad_info.gfx_level >= GFX8;
primary->scratch_size_per_wave_needed =
@@ -8073,9 +8073,9 @@ radv_cs_emit_indirect_draw_packet(struct radv_cmd_buffer *cmd_buffer, bool index
radeon_emit(cs, count_va >> 32);
radeon_emit(cs, stride); /* stride */
radeon_emit(cs, di_src_sel);
-
- cmd_buffer->state.uses_draw_indirect_multi = true;
}
+
+ cmd_buffer->state.uses_draw_indirect = true;
}
ALWAYS_INLINE static void
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
index f0fea917c91..981d6694254 100644
--- a/src/amd/vulkan/radv_private.h
+++ b/src/amd/vulkan/radv_private.h
@@ -1657,8 +1657,8 @@ struct radv_cmd_state {
uint8_t cb_mip[MAX_RTS];
- /* Whether DRAW_{INDEX}_INDIRECT_MULTI is emitted. */
- bool uses_draw_indirect_multi;
+ /* Whether DRAW_{INDEX}_INDIRECT_{MULTI} is emitted. */
+ bool uses_draw_indirect;
uint32_t rt_stack_size;
--
cgit v1.2.1

View File

@ -0,0 +1,94 @@
From 5731ebac404a142fb1c1d1f0755d22beed40528a Mon Sep 17 00:00:00 2001
From: Felix DeGrood <felix.j.degrood@intel.com>
Date: Mon, 15 May 2023 22:44:45 +0000
Subject: anv: override vendorID for Cyberpunk 2077
A recent update to Cyberpunk 2077 enables XeSS code for Intel GPUs
which is causing the game to crash in the XeSS libraries. As a
temporary work around, stop identifying as Intel for Cyberpunk so
XeSS falls back to the cross-vendor path.
References: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8860
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23271>
---
src/intel/vulkan/anv_device.c | 5 +++++
src/intel/vulkan/anv_private.h | 1 +
src/util/00-mesa-defaults.conf | 3 +++
src/util/driconf.h | 3 +++
4 files changed, 12 insertions(+)
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index 44a591531c0..da9e05b9ced 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -85,6 +85,7 @@ static const driOptionDescription anv_dri_options[] = {
DRI_CONF_VK_WSI_FORCE_BGRA8_UNORM_FIRST(false)
DRI_CONF_LIMIT_TRIG_INPUT_RANGE(false)
DRI_CONF_ANV_MESH_CONV_PRIM_ATTRS_TO_VERT_ATTRS(-2)
+ DRI_CONF_FORCE_VK_VENDOR(0)
DRI_CONF_SECTION_END
DRI_CONF_SECTION_QUALITY
@@ -1500,6 +1501,8 @@ anv_init_dri_options(struct anv_instance *instance)
driQueryOptioni(&instance->dri_options, "generated_indirect_threshold");
instance->query_clear_with_blorp_threshold =
driQueryOptioni(&instance->dri_options, "query_clear_with_blorp_threshold");
+ instance->force_vk_vendor =
+ driQueryOptioni(&instance->dri_options, "force_vk_vendor");
}
VkResult anv_CreateInstance(
@@ -1749,6 +1752,8 @@ void anv_GetPhysicalDeviceProperties(
.sparseProperties = {0}, /* Broadwell doesn't do sparse. */
};
+ if (unlikely(pdevice->instance->force_vk_vendor))
+ pProperties->vendorID = pdevice->instance->force_vk_vendor;
snprintf(pProperties->deviceName, sizeof(pProperties->deviceName),
"%s", pdevice->info.name);
memcpy(pProperties->pipelineCacheUUID,
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index 8c4099e3b7b..b6401c44782 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -1037,6 +1037,7 @@ struct anv_instance {
float lower_depth_range_rate;
unsigned generated_indirect_threshold;
unsigned query_clear_with_blorp_threshold;
+ unsigned force_vk_vendor;
/* HW workarounds */
bool no_16bit;
diff --git a/src/util/00-mesa-defaults.conf b/src/util/00-mesa-defaults.conf
index b5f8b233a7d..a58831bc304 100644
--- a/src/util/00-mesa-defaults.conf
+++ b/src/util/00-mesa-defaults.conf
@@ -1056,6 +1056,9 @@ TODO: document the other workarounds.
<application name="NieR:Automata" executable="NieRAutomata.exe">
<option name="limit_trig_input_range" value="true" />
</application>
+ <application name="Cyberpunk 2077" executable="Cyberpunk2077.exe">
+ <option name="force_vk_vendor" value="-1" />
+ </application>
<!--
Disable 16-bit feature on zink and angle so that GLES mediump doesn't
lower to our inefficent 16-bit shader support. No need to do so for
diff --git a/src/util/driconf.h b/src/util/driconf.h
index ac51622830d..108cc017c43 100644
--- a/src/util/driconf.h
+++ b/src/util/driconf.h
@@ -310,6 +310,9 @@
DRI_CONF_OPT_B(ignore_discard_framebuffer, def, \
"Ignore glDiscardFramebuffer/glInvalidateFramebuffer, workaround for games that use it incorrectly")
+#define DRI_CONF_FORCE_VK_VENDOR(def) \
+ DRI_CONF_OPT_I(force_vk_vendor, 0, -1, 2147483647, "Override GPU vendor id")
+
/**
* \brief Image quality-related options
*/
--
cgit v1.2.1

View File

@ -0,0 +1,39 @@
From cb41ef0d3f537f8d1fb345cf5bdcc30070333c8b Mon Sep 17 00:00:00 2001
From: Gert Wollny <gert.wollny@collabora.com>
Date: Mon, 27 Feb 2023 09:56:41 +0100
Subject: util/driconf: pin minImageCount to three for "Path of Exile"
"Path of Exile" will fail with an error "unsupported backbuffer image count"
when vkGetPhysicalDeviceSurfaceCapabilitiesKHR reports more than 3 as
minImageCount.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21547>
---
src/util/00-mesa-defaults.conf | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/util/00-mesa-defaults.conf b/src/util/00-mesa-defaults.conf
index 554115cedfc..843beae6609 100644
--- a/src/util/00-mesa-defaults.conf
+++ b/src/util/00-mesa-defaults.conf
@@ -891,6 +891,16 @@ TODO: document the other workarounds.
<!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/5437 -->
<option name="vk_dont_care_as_load" value="true" />
</application>
+
+ <!-- Path of Exile stops with "unsupported backbuffer count" when more than
+ 3 swapchain image are reported. -->
+ <application name="Path of Exile" executable="PathOfExile_x64Steam.exe">
+ <option name="vk_x11_override_min_image_count" value="3" />
+ </application>
+ <application name="Path of Exile" executable="PathOfExileSteam.exe">
+ <option name="vk_x11_override_min_image_count" value="3" />
+ </application>
+
</device>
<!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
<device driver="vmwgfx">
--
cgit v1.2.1

View File

@ -0,0 +1,35 @@
From a4f14e7239780b02af8d74669c5458d4b0957d4d Mon Sep 17 00:00:00 2001
From: Roland Stigge <stigge@antcom.de>
Date: Sun, 2 Mar 2014 19:52:56 +0100
Subject: [PATCH] gallium: fix build failure on powerpcspe
In the case of powerpc, mesa activates some altivec instructions
that are unknown on the powerpcspe architecture (see
https://wiki.debian.org/PowerPCSPEPort), causing a build failure as the
'vand' opcode is not recognized by the assembler.
This patch fixes this by preventing the PPC-specialcasing in case of
powerpcspe (__NO_FPRS__ is only defined there).
https://bugs.debian.org/695746
---
src/gallium/include/pipe/p_config.h | 2 ++
1 file changed, 2 insertions(+)
--- a/src/util/detect_arch.h
+++ b/src/util/detect_arch.h
@@ -70,12 +70,14 @@
#endif
#endif
+#ifndef __NO_FPRS__
#if defined(__ppc__) || defined(__ppc64__) || defined(__PPC__) || defined(__PPC64__)
#define DETECT_ARCH_PPC 1
#if defined(__ppc64__) || defined(__PPC64__)
#define DETECT_ARCH_PPC_64 1
#endif
#endif
+#endif
#if defined(__s390x__)
#define DETECT_ARCH_S390 1

15
debian/patches/series vendored Normal file
View File

@ -0,0 +1,15 @@
07_gallium-fix-build-failure-on-powerpcspe.diff
path_max.diff
src_glx_dri_common.h.diff
#kisak-mesa PPA Backports:
0001_radv_amdgpu:_Remove_unnecessary_assertions_from_chaining..patch
0002_radv:_Disallow_IB2_on_GFX6_when_using_draw_indirect_multi..patch
0003_radv:_Use_IB_BOs_(chaining)_by_default_on_GFX6..patch
0004_radv:_Chain_command_buffers_on_GFX6_in_radv_queue..patch
0005_amd:_Rename_INDIRECT_BUFFER_CIK_to_just_INDIRECT_BUFFER..patch
0006_radv:_Simplify_IB2_workaround..patch
0007_radv:_Remove_IB2_workaround_from_mesh_shader_draws..patch
0008_radv:_Enable_IB2_workaround_on_all_indirect_draws..patch
0009_anv:_override_vendorID_for_Cyberpunk_2077.patch
0010_util_driconf:_pin_minImageCount_to_three_for_Path_of_Exile.patch

236
debian/rules vendored
View File

@ -13,120 +13,138 @@ DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
# for finding the correct llvm-config when meson doesn't know about it yet
LLVM_VERSION = 17
LLVM_VERSION = 15
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/
# enable LTO everywhere:
#confflags += -Db_lto=true
DEB_CFLAGS_MAINT_APPEND := -Wall
DEB_CXXFLAGS_MAINT_APPEND := -Wall
ifneq (,$(filter $(DEB_HOST_ARCH), armhf))
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))
# Workaround for a variant of LP: #725126
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
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
ifneq (,$(filter $(DEB_HOST_ARCH), ppc64el))
# Workaround for https://gitlab.freedesktop.org/mesa/mesa/-/issues/5315
buildflags = \
$(shell DEB_CFLAGS_MAINT_APPEND="-Wall -O2" DEB_CXXFLAGS_MAINT_APPEND="-Wall -O2" 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
endif
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 =
GALLIUM_DRIVERS = swrast
VULKAN_DRIVERS =
VULKAN_LAYERS =
confflags_DRI3 = -Ddri3=disabled
confflags_OSMESA = -Dosmesa=true
confflags_OSMESA = -Dosmesa=true
confflags_SSE2 = -Dsse2=true
confflags_TEFLON = -Dteflon=false
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
LLVM_ARCHS = amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc64 x32
RUSTICL_ARCHS = amd64 arm64 armel armhf mips64el mipsel ppc64el s390x
#ifeq ($(DEB_DISTRIBUTION), jammy)
# RUSTICL_ARCHS = arm64
#else
VALGRIND_ARCHS = amd64 arm64 armhf i386 mips64el mipsel powerpc ppc64 ppc64el s390x
WINE_ARCHS = amd64 arm64 armel armhf i386 powerpc
# 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
confflags_DIRECT_RENDERING = -Dglx-direct=false
confflags_GBM = -Dgbm=disabled
else
# Non-Linux ports lack epoll, so wayland isn't ready yet:
# https://gitlab.freedesktop.org/wayland/wayland/-/issues/72
# hurd also lacks *_CLOEXEC
EGL_PLATFORMS += wayland
GALLIUM_DRIVERS += r300 r600
GALLIUM_DRIVERS += nouveau r300 r600 virgl
confflags_DIRECT_RENDERING = -Dglx-direct=true
confflags_DRI3 = -Ddri3=enabled
confflags_GBM = -Dgbm=enabled
confflags_GALLIUM += -Dgallium-extra-hud=true
confflags_GALLIUM += -Dgallium-vdpau=enabled
confflags_GALLIUM += -Dlmsensors=enabled
confflags_DIRECT_RENDERING = -Dglx-direct=true
confflags_GBM = -Dgbm=enabled
confflags_GALLIUM += -Dgallium-extra-hud=true
confflags_GALLIUM += -Dgallium-vdpau=enabled
confflags_GALLIUM += -Dlmsensors=enabled
# Freedreno requires arm in addition
ifneq (,$(filter arm arm64,$(DEB_HOST_ARCH_CPU)))
GALLIUM_DRIVERS += freedreno
# radv/lavapipe needs LLVM and the Vulkan loader, so only build on the subset of
# arches where we have LLVM enabled and where the Vulkan loader is built.
ifneq (,$(filter $(DEB_HOST_ARCH), amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el s390x sparc64))
VULKAN_DRIVERS += amd swrast
endif
# etnaviv, tegra, vc4 and v3d kernel support are only available on armhf and arm64
ifneq (,$(filter $(DEB_HOST_ARCH), armhf arm64))
GALLIUM_DRIVERS += etnaviv panfrost svga tegra vc4 v3d
VULKAN_DRIVERS += broadcom freedreno
# 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
endif
ifneq (,$(filter $(DEB_HOST_ARCH), armhf arm64 loong64 riscv64))
GALLIUM_DRIVERS += lima
ifeq ($(DEB_HOST_ARCH_OS), linux)
confflags_DRI3 = -Ddri3=enabled
# Gallium drivers which require kernel support, not yet ported to non-Linux
GALLIUM_DRIVERS += nouveau virgl
# Freedreno requires arm in addition
ifneq (,$(filter arm arm64,$(DEB_HOST_ARCH_CPU)))
GALLIUM_DRIVERS += freedreno
endif
# etnaviv, tegra, vc4 and v3d kernel support are only available on armhf and arm64
ifneq (,$(filter $(DEB_HOST_ARCH), armhf arm64))
GALLIUM_DRIVERS += etnaviv panfrost svga tegra vc4 v3d
VULKAN_DRIVERS += broadcom freedreno
endif
ifneq (,$(filter $(DEB_HOST_ARCH), armhf arm64 riscv64))
GALLIUM_DRIVERS += lima
endif
ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 x32))
GALLIUM_DRIVERS += svga
# svga needs xa state tracker
confflags_GALLIUM += -Dgallium-xa=enabled
VULKAN_DRIVERS += intel intel_hasvk
endif
ifneq (,$(filter $(DEB_HOST_ARCH), amd64))
confflags_GALLIUM += -Dintel-clc=enabled
endif
# Non-Linux ports lack epoll, so wayland isn't ready yet:
# https://gitlab.freedesktop.org/wayland/wayland/-/issues/72
# hurd also lacks *_CLOEXEC
EGL_PLATFORMS += ,wayland
ifneq (,$(filter $(DEB_HOST_ARCH), $(VALGRIND_ARCHS)))
confflags_VALGRIND += -Dvalgrind=enabled
endif
# WSL supports only amd64 and arm64
ifneq (,$(filter amd64 arm64,$(DEB_HOST_ARCH)))
GALLIUM_DRIVERS += d3d12
# VULKAN_DRIVERS += microsoft-experimental
endif
endif
# Build intel drivers on archs where libdrm-intel is installed
ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 x32))
GALLIUM_DRIVERS += crocus i915 iris svga
VULKAN_DRIVERS += intel intel_hasvk
# svga needs xa state tracker
confflags_GALLIUM += -Dgallium-xa=enabled
endif
ifneq (,$(filter $(DEB_HOST_ARCH), amd64))
confflags_GALLIUM += -Dintel-clc=enabled
endif
ifneq (,$(filter $(DEB_HOST_ARCH), $(VALGRIND_ARCHS)))
confflags_VALGRIND += -Dvalgrind=enabled
endif
# WSL supports only amd64 and arm64
DOZEN_INSTALLED=no
ifneq (,$(filter $(DEB_HOST_ARCH), amd64 arm64))
GALLIUM_DRIVERS += d3d12
VULKAN_DRIVERS += microsoft-experimental
DOZEN_INSTALLED=yes
ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 kfreebsd-amd64 kfreebsd-i386 x32))
GALLIUM_DRIVERS += iris crocus i915
endif
# 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 llvmpipe
GALLIUM_DRIVERS += radeonsi zink
# drop virtio from armel, it doesn't build
ifneq (,$(filter $(DEB_HOST_ARCH), armel))
VULKAN_DRIVERS += amd swrast
# 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
VULKAN_DRIVERS += amd swrast virtio
VULKAN_DRIVERS += amd swrast
endif
VULKAN_LAYERS += device-select intel-nullhw overlay
@ -138,27 +156,17 @@ 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
ifeq (,$(filter pkg.mesa.nolibva,$(DEB_BUILD_PROFILES)))
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
confflags_GALLIUM += -Dvideo-codecs="vc1dec, h264dec, h264enc, h265dec, h265enc"
endif
endif
@ -169,8 +177,6 @@ endif
empty:=
space := $(empty) $(empty)
comma := ,
EGL_PLATFORMS := $(patsubst %,'%',$(EGL_PLATFORMS))
EGL_PLATFORMS_LIST := $(subst $(space),$(comma),$(EGL_PLATFORMS))
GALLIUM_DRIVERS := $(patsubst %,'%',$(GALLIUM_DRIVERS))
GALLIUM_DRIVERS_LIST := $(subst $(space),$(comma),$(GALLIUM_DRIVERS))
VULKAN_DRIVERS := $(patsubst %,'%',$(VULKAN_DRIVERS))
@ -178,16 +184,16 @@ VULKAN_DRIVERS_LIST := $(subst $(space),$(comma),$(VULKAN_DRIVERS))
VULKAN_LAYERS := $(patsubst %,'%',$(VULKAN_LAYERS))
VULKAN_LAYERS_LIST := $(subst $(space),$(comma),$(VULKAN_LAYERS))
confflags_EGL = -Dplatforms="$(EGL_PLATFORMS)"
confflags_GLES = -Dgles1=disabled -Dgles2=enabled
confflags_GALLIUM += -Dgallium-drivers="[$(GALLIUM_DRIVERS_LIST)]"
confflags += \
-Ddri-drivers-path=/usr/lib/$(DEB_HOST_MULTIARCH)/dri \
-Ddri-search-path='/usr/lib/$(DEB_HOST_MULTIARCH)/dri:\$$$${ORIGIN}/dri:/usr/lib/dri' \
-Dplatforms="[$(EGL_PLATFORMS_LIST)]" \
-Dvulkan-drivers="[$(VULKAN_DRIVERS_LIST)]" \
-Dvulkan-layers="[$(VULKAN_LAYERS_LIST)]" \
-Dglvnd=enabled \
-Dglvnd=true \
-Dshared-glapi=enabled \
-Dgallium-omx=disabled \
-Db_ndebug=true \
@ -196,41 +202,27 @@ confflags += \
$(confflags_DIRECT_RENDERING) \
$(confflags_GBM) \
$(confflags_DRI3) \
$(confflags_EGL) \
$(confflags_GALLIUM) \
$(confflags_GLES) \
$(confflags_OSMESA) \
$(confflags_SSE2) \
$(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
$(confflags_VALGRIND)
override_dh_clean: regen_control
sed -i 's/-.*//' VERSION
rm -rf .pc
rm -rf build
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: rewrite_wrap_files
override_dh_auto_configure:
dpkg-parsechangelog | awk '/^Version:/ {print $$2}' > VERSION
$(buildflags) dh_auto_configure -- \
$(confflags)
@ -256,16 +248,13 @@ override_dh_installchangelogs:
override_dh_install:
# purge .la files
find debian/tmp/ -name '*.la' -exec rm '{}' ';'
find debian/tmp/usr/bin -name 'mme_*_sim_hw_test' -exec rm '{}' ';'
# Get rid of some files which aren't installed. Do not
# use -f to ensure we notice disappearing files:
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
@ -297,11 +286,6 @@ override_dh_install:
debian/mesa-opencl-icd/usr/lib/${DEB_HOST_MULTIARCH}/
endif
# Conditionally enable install of dozen files
if test "$(DOZEN_INSTALLED)" = "yes"; then \
sed -i -e "s|#dozen\ ||g" debian/mesa-vulkan-drivers.install; \
fi
dh_install -a
# Install bug control and script:
@ -311,8 +295,11 @@ override_dh_install:
install -m 755 debian/local/script debian/$$p/usr/share/bug/$$p; \
done
override_dh_missing:
dh_missing --fail-missing
override_dh_makeshlibs:
dh_makeshlibs -a -- -c4
dh_makeshlibs -a -- -c0
%:
dh $@ --with quilt \
@ -328,7 +315,6 @@ 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

View File

@ -1 +1 @@
3.0 (quilt)
3.0 (native)

0
debian/tests/gles-gbm-build-test vendored Executable file → Normal file
View File

12
main.sh
View File

@ -1,25 +1,17 @@
#! /bin/bash
set -e
VERSION="24.2.6"
source ./pika-build-config.sh
echo "$PIKA_BUILD_ARCH" > pika-build-arch
# Clone Upstream
git clone https://gitlab.freedesktop.org/mesa/mesa -b mesa-"$VERSION"
git clone https://gitlab.freedesktop.org/mesa/mesa -b mesa-23.1.5
cp -rvf ./debian ./mesa/
cd ./mesa
for i in $(cat ../patches/series) ; do echo "Applying Patch: $i" && patch -Np1 -i ../patches/$i || bash -c "echo "Applying Patch $i Failed!" && exit 2"; done
sed -i ' 1 s/.*/& - PikaOS YellowBirb Mesa Stable/' ./VERSION
# Get build deps
apt-get build-dep ./ -y
# Build package
LOGNAME=root dh_make --createorig -y -l -p mesa_"$VERSION" || echo "dh-make: Ignoring Last Error"
dpkg-buildpackage --no-sign
# Move the debs to output

20
main32.sh Executable file
View File

@ -0,0 +1,20 @@
#! /bin/bash
set -e
# Clone Upstream
git clone https://gitlab.freedesktop.org/mesa/mesa -b mesa-23.1.5
cp -rvf ./debian ./mesa/
cd ./mesa
sed -i ' 1 s/.*/& - PikaOS YellowBirb Mesa Stable/' ./VERSION
# Get build deps
apt-get build-dep ./ -y
# Build package
dpkg-buildpackage --no-sign
# Move the debs to output
cd ../
mkdir -p ./output
mv ./*.deb ./output/

View File

@ -1,54 +0,0 @@
From 64c406774fc56e6b63b2352f3ab63fcb9cb10d21 Mon Sep 17 00:00:00 2001
From: Friedrich Vock <friedrich.vock@gmx.de>
Date: Mon, 30 Sep 2024 15:09:39 +0200
Subject: [PATCH] radv/rt: Skip all AABB code when no_skip_aabbs is not set
This avoids having to execute the load_global just to throw the results
away and ignore the node.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31443>
---
src/amd/vulkan/nir/radv_nir_rt_common.c | 28 +++++++++++++------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/src/amd/vulkan/nir/radv_nir_rt_common.c b/src/amd/vulkan/nir/radv_nir_rt_common.c
index 37b934d0f7ad9..6e35914f462bc 100644
--- a/src/amd/vulkan/nir/radv_nir_rt_common.c
+++ b/src/amd/vulkan/nir/radv_nir_rt_common.c
@@ -418,20 +418,22 @@ insert_traversal_aabb_case(struct radv_device *device, nir_builder *b, const str
if (!args->aabb_cb)
return;
- struct radv_leaf_intersection intersection;
- intersection.node_addr = build_node_to_addr(device, b, bvh_node, false);
- nir_def *triangle_info = nir_build_load_global(
- b, 2, 32, nir_iadd_imm(b, intersection.node_addr, offsetof(struct radv_bvh_aabb_node, primitive_id)));
- intersection.primitive_id = nir_channel(b, triangle_info, 0);
- intersection.geometry_id_and_flags = nir_channel(b, triangle_info, 1);
- intersection.opaque = hit_is_opaque(b, nir_load_deref(b, args->vars.sbt_offset_and_flags), ray_flags,
- intersection.geometry_id_and_flags);
-
- nir_def *not_cull = nir_bcsel(b, intersection.opaque, ray_flags->no_cull_opaque, ray_flags->no_cull_no_opaque);
- not_cull = nir_iand(b, not_cull, ray_flags->no_skip_aabbs);
- nir_push_if(b, not_cull);
+ nir_push_if(b, ray_flags->no_skip_aabbs);
{
- args->aabb_cb(b, &intersection, args);
+ struct radv_leaf_intersection intersection;
+ intersection.node_addr = build_node_to_addr(device, b, bvh_node, false);
+ nir_def *triangle_info = nir_build_load_global(
+ b, 2, 32, nir_iadd_imm(b, intersection.node_addr, offsetof(struct radv_bvh_aabb_node, primitive_id)));
+ intersection.primitive_id = nir_channel(b, triangle_info, 0);
+ intersection.geometry_id_and_flags = nir_channel(b, triangle_info, 1);
+ intersection.opaque = hit_is_opaque(b, nir_load_deref(b, args->vars.sbt_offset_and_flags), ray_flags,
+ intersection.geometry_id_and_flags);
+
+ nir_push_if(b, nir_bcsel(b, intersection.opaque, ray_flags->no_cull_opaque, ray_flags->no_cull_no_opaque));
+ {
+ args->aabb_cb(b, &intersection, args);
+ }
+ nir_pop_if(b, NULL);
}
nir_pop_if(b, NULL);
}
--

View File

@ -1,3 +0,0 @@
path_max.diff
src_glx_dri_common.h.diff
radvaabb.diff

View File

@ -1,10 +0,0 @@
#! /bin/bash
export PIKA_BUILD_ARCH="amd64-v3"
export DEBIAN_FRONTEND="noninteractive"
export DEB_BUILD_MAINT_OPTIONS="optimize=+lto -march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32"
export DEB_CFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32"
export DEB_CPPFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32"
export DEB_CXXFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32"
export DEB_LDFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto -fuse-linker-plugin -falign-functions=32"
export DEB_BUILD_OPTIONS="nocheck notest terse"
export DPKG_GENSYMBOLS_CHECK_LEVEL=0

View File

@ -1,10 +0,0 @@
#! /bin/bash
export PIKA_BUILD_ARCH="amd64-v3"
export DEBIAN_FRONTEND="noninteractive"
export DEB_BUILD_MAINT_OPTIONS="-march=x86-64-v3 -O3"
export DEB_CFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3"
export DEB_CPPFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3"
export DEB_CXXFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3"
export DEB_LDFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3"
export DEB_BUILD_OPTIONS="nocheck notest terse"
export DPKG_GENSYMBOLS_CHECK_LEVEL=0

View File

@ -1,5 +0,0 @@
#! /bin/bash
export PIKA_BUILD_ARCH="i386"
export DEBIAN_FRONTEND="noninteractive"
export DEB_BUILD_OPTIONS="nocheck notest terse"
export DPKG_GENSYMBOLS_CHECK_LEVEL=0

View File

@ -1,3 +1,8 @@
# send debs to server
rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/cockatiel-incoming/
#rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/canary-incoming/
rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/incoming/
# add debs to repo
ssh ferreo@direct.pika-os.com 'aptly repo add -force-replace -remove-files pika-main /srv/www/incoming/'
# publish the repo
ssh ferreo@direct.pika-os.com 'aptly publish update -batch -skip-contents -force-overwrite lunar filesystem:pikarepo:'