summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/mesa/.gitlab-ci/container/debian/arm_build.sh31
-rw-r--r--lib/mesa/.gitlab-ci/container/debian/x86_build-base.sh37
-rw-r--r--lib/mesa/.gitlab-ci/container/debian/x86_build.sh64
-rw-r--r--lib/mesa/.gitlab-ci/container/debian/x86_test-base.sh102
-rw-r--r--lib/mesa/.gitlab-ci/container/debian/x86_test-gl.sh61
-rw-r--r--lib/mesa/.gitlab-ci/container/debian/x86_test-vk.sh105
-rw-r--r--lib/mesa/.gitlab-ci/container/fedora/x86_build.sh28
-rw-r--r--lib/mesa/docs/_extra/specs/MESA_bgra.txt2
-rw-r--r--lib/mesa/src/asahi/lib/hexdump.h22
9 files changed, 203 insertions, 249 deletions
diff --git a/lib/mesa/.gitlab-ci/container/debian/arm_build.sh b/lib/mesa/.gitlab-ci/container/debian/arm_build.sh
index 4c2a60124..c16e9474d 100644
--- a/lib/mesa/.gitlab-ci/container/debian/arm_build.sh
+++ b/lib/mesa/.gitlab-ci/container/debian/arm_build.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-# shellcheck disable=SC2086 # we want word splitting
set -e
set -o xtrace
@@ -9,34 +8,24 @@ sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
echo 'deb https://deb.debian.org/debian buster main' >/etc/apt/sources.list.d/buster.list
apt-get update
-# Ephemeral packages (installed for this script and removed again at
-# the end)
-STABLE_EPHEMERAL=" \
- libssl-dev \
- "
-
apt-get -y install \
- ${EXTRA_LOCAL_PACKAGES} \
- ${STABLE_EPHEMERAL} \
+ abootimg \
autoconf \
automake \
bc \
bison \
ccache \
cmake \
- curl \
debootstrap \
fastboot \
flex \
g++ \
git \
- glslang-tools \
kmod \
libasan6 \
libdrm-dev \
libelf-dev \
libexpat1-dev \
- libvulkan-dev \
libx11-dev \
libx11-xcb-dev \
libxcb-dri2-0-dev \
@@ -51,9 +40,8 @@ apt-get -y install \
libxrandr-dev \
libxshmfence-dev \
libxxf86vm-dev \
- libwayland-dev \
llvm-11-dev \
- ninja-build \
+ meson \
pkg-config \
python3-mako \
python3-pil \
@@ -61,32 +49,23 @@ apt-get -y install \
python3-requests \
python3-setuptools \
u-boot-tools \
+ wget \
xz-utils \
- zlib1g-dev \
- zstd
+ zlib1g-dev
# Not available anymore in bullseye
apt-get install -y --no-remove -t buster \
android-sdk-ext4-utils
-pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2
-
-# We need at least 0.61.4 for proper Rust; 0.62 for modern meson env2mfile
-pip3 install meson==0.63.3
+pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366
arch=armhf
. .gitlab-ci/container/cross_build.sh
. .gitlab-ci/container/container_pre_build.sh
-. .gitlab-ci/container/build-mold.sh
-
# dependencies where we want a specific version
EXTRA_MESON_ARGS=
. .gitlab-ci/container/build-libdrm.sh
-. .gitlab-ci/container/build-wayland.sh
-
-apt-get purge -y $STABLE_EPHEMERAL
-
. .gitlab-ci/container/container_post_build.sh
diff --git a/lib/mesa/.gitlab-ci/container/debian/x86_build-base.sh b/lib/mesa/.gitlab-ci/container/debian/x86_build-base.sh
index 8fb49b5a5..6333fa70e 100644
--- a/lib/mesa/.gitlab-ci/container/debian/x86_build-base.sh
+++ b/lib/mesa/.gitlab-ci/container/debian/x86_build-base.sh
@@ -1,16 +1,11 @@
#!/bin/bash
-# shellcheck disable=SC2086 # we want word splitting
set -e
set -o xtrace
export DEBIAN_FRONTEND=noninteractive
-apt-get install -y ca-certificates gnupg2 software-properties-common
-
-# Add llvm 13 to the build image
-apt-key add .gitlab-ci/container/debian/llvm-snapshot.gpg.key
-add-apt-repository "deb https://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-13 main"
+apt-get install -y ca-certificates
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
@@ -27,25 +22,23 @@ apt-get install -y --no-remove \
$STABLE_EPHEMERAL \
bison \
ccache \
- curl \
- clang-format-13 \
dpkg-cross \
- findutils \
flex \
g++ \
- cmake \
+ g++-mingw-w64-x86-64 \
gcc \
git \
glslang-tools \
kmod \
- libclang-13-dev \
libclang-11-dev \
+ libclang-9-dev \
+ libclc-dev \
libelf-dev \
libepoxy-dev \
libexpat1-dev \
libgtk-3-dev \
- libllvm13 \
libllvm11 \
+ libllvm9 \
libomxil-bellagio-dev \
libpciaccess-dev \
libunwind-dev \
@@ -59,32 +52,28 @@ apt-get install -y --no-remove \
libxrandr-dev \
libxrender-dev \
libxshmfence-dev \
+ libxvmc-dev \
libxxf86vm-dev \
+ libz-mingw-w64-dev \
make \
- ninja-build \
+ meson \
pkg-config \
python3-mako \
python3-pil \
- python3-ply \
python3-requests \
qemu-user \
valgrind \
+ wayland-protocols \
+ wget \
+ wine64 \
x11proto-dri2-dev \
x11proto-gl-dev \
x11proto-randr-dev \
xz-utils \
- zlib1g-dev \
- zstd
+ zlib1g-dev
# Needed for ci-fairy, this revision is able to upload files to MinIO
-pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2
-
-# We need at least 1.0.0 for proper Rust; 0.62 for modern meson env2mfile
-pip3 install meson==1.0.0
-
-. .gitlab-ci/container/build-rust.sh
-
-. .gitlab-ci/container/debian/x86_build-base-wine.sh
+pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366
############### Uninstall ephemeral packages
diff --git a/lib/mesa/.gitlab-ci/container/debian/x86_build.sh b/lib/mesa/.gitlab-ci/container/debian/x86_build.sh
index cc39d3e1a..318a0bc49 100644
--- a/lib/mesa/.gitlab-ci/container/debian/x86_build.sh
+++ b/lib/mesa/.gitlab-ci/container/debian/x86_build.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-# shellcheck disable=SC2086 # we want word splitting
set -e
set -o xtrace
@@ -12,22 +11,24 @@ STABLE_EPHEMERAL=" \
automake \
autotools-dev \
bzip2 \
+ cmake \
+ libgbm-dev \
libtool \
- libssl-dev \
+ python3-pip \
"
+# We need multiarch for Wine
+dpkg --add-architecture i386
apt-get update
apt-get install -y --no-remove \
$STABLE_EPHEMERAL \
- check \
clang \
libasan6 \
libarchive-dev \
- libclang-cpp13-dev \
libclang-cpp11-dev \
- libgbm-dev \
libglvnd-dev \
+ libllvmspirvlib-dev \
liblua5.3-dev \
libxcb-dri2-0-dev \
libxcb-dri3-dev \
@@ -39,42 +40,50 @@ apt-get install -y --no-remove \
libxcb-xfixes0-dev \
libxcb1-dev \
libxml2-dev \
- llvm-13-dev \
llvm-11-dev \
+ llvm-9-dev \
ocl-icd-opencl-dev \
- python3-pip \
- python3-venv \
procps \
spirv-tools \
- shellcheck \
strace \
time \
- yamllint \
- zstd
+ wine \
+ wine32
. .gitlab-ci/container/container_pre_build.sh
+
+# Debian's pkg-config wrapers for mingw are broken, and there's no sign that
+# they're going to be fixed, so we'll just have to fix it ourselves
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=930492
+cat >/usr/local/bin/x86_64-w64-mingw32-pkg-config <<EOF
+#!/bin/sh
+
+PKG_CONFIG_LIBDIR=/usr/x86_64-w64-mingw32/lib/pkgconfig pkg-config \$@
+EOF
+chmod +x /usr/local/bin/x86_64-w64-mingw32-pkg-config
+
+
# dependencies where we want a specific version
export XORG_RELEASES=https://xorg.freedesktop.org/releases/individual
+export WAYLAND_RELEASES=https://wayland.freedesktop.org/releases
export XORGMACROS_VERSION=util-macros-1.19.0
+export LIBWAYLAND_VERSION=wayland-1.18.0
-. .gitlab-ci/container/build-mold.sh
-
-curl -L --retry 4 -f --retry-all-errors --retry-delay 60 -O \
- $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
+wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
tar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2
cd $XORGMACROS_VERSION; ./configure; make install; cd ..
rm -rf $XORGMACROS_VERSION
-. .gitlab-ci/container/build-llvm-spirv.sh
-
-. .gitlab-ci/container/build-libclc.sh
-
. .gitlab-ci/container/build-libdrm.sh
-. .gitlab-ci/container/build-wayland.sh
+wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz
+tar -xvf $LIBWAYLAND_VERSION.tar.xz && rm $LIBWAYLAND_VERSION.tar.xz
+cd $LIBWAYLAND_VERSION; ./configure --enable-libraries --without-host-scanner --disable-documentation --disable-dtd-validation; make install; cd ..
+rm -rf $LIBWAYLAND_VERSION
+
pushd /usr/local
git clone https://gitlab.freedesktop.org/mesa/shader-db.git --depth 1
@@ -83,22 +92,17 @@ cd shader-db
make
popd
-git clone https://github.com/microsoft/DirectX-Headers -b v1.606.4 --depth 1
-mkdir -p DirectX-Headers/build
-pushd DirectX-Headers/build
+git clone https://github.com/microsoft/DirectX-Headers -b v1.0.1 --depth 1
+pushd DirectX-Headers
+mkdir build
+cd build
meson .. --backend=ninja --buildtype=release -Dbuild-test=false
ninja
ninja install
popd
rm -rf DirectX-Headers
-python3 -m pip install -r .gitlab-ci/lava/requirements.txt
-
-# install bindgen
-RUSTFLAGS='-L native=/usr/local/lib' cargo install \
- bindgen --version 0.59.2 \
- -j ${FDO_CI_CONCURRENT:-4} \
- --root /usr/local
+pip3 install git+https://git.lavasoftware.org/lava/lavacli@3db3ddc45e5358908bc6a17448059ea2340492b7
############### Uninstall the build software
diff --git a/lib/mesa/.gitlab-ci/container/debian/x86_test-base.sh b/lib/mesa/.gitlab-ci/container/debian/x86_test-base.sh
index 842500fee..362cf7e9e 100644
--- a/lib/mesa/.gitlab-ci/container/debian/x86_test-base.sh
+++ b/lib/mesa/.gitlab-ci/container/debian/x86_test-base.sh
@@ -1,78 +1,34 @@
#!/bin/bash
-# shellcheck disable=SC2086 # we want word splitting
set -e
set -o xtrace
export DEBIAN_FRONTEND=noninteractive
-apt-get install -y ca-certificates gnupg2 software-properties-common
+apt-get install -y ca-certificates
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
# Ephemeral packages (installed for this script and removed again at
# the end)
STABLE_EPHEMERAL=" \
- autoconf \
- automake \
- bc \
- bison \
- bzip2 \
- ccache \
- cmake \
- clang-11 \
- flex \
- glslang-tools \
- g++ \
- libasound2-dev \
- libcap-dev \
- libclang-cpp11-dev \
- libegl-dev \
- libelf-dev \
- libepoxy-dev \
- libgbm-dev \
- libpciaccess-dev \
- libvulkan-dev \
- libwayland-dev \
- libx11-xcb-dev \
- libxext-dev \
- llvm-13-dev \
- llvm-11-dev \
- make \
- meson \
- patch \
- pkg-config \
- protobuf-compiler \
+ cargo \
python3-dev \
python3-pip \
python3-setuptools \
python3-wheel \
- spirv-tools \
- wayland-protocols \
- xz-utils \
"
-# Add llvm 13 to the build image
-apt-key add .gitlab-ci/container/debian/llvm-snapshot.gpg.key
-add-apt-repository "deb https://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-13 main"
-
apt-get update
apt-get dist-upgrade -y
-apt-get install -y \
- sysvinit-core
-
apt-get install -y --no-remove \
- curl \
git \
git-lfs \
- inetutils-syslogd \
- iptables \
- jq \
libasan6 \
libexpat1 \
- libllvm13 \
libllvm11 \
+ libllvm9 \
liblz4-1 \
libpng16-16 \
libpython3.9 \
@@ -92,68 +48,22 @@ apt-get install -y --no-remove \
python3-requests \
python3-six \
python3-yaml \
- socat \
vulkan-tools \
waffle-utils \
xauth \
xvfb \
- zlib1g \
- zstd
+ zlib1g
apt-get install -y --no-install-recommends \
$STABLE_EPHEMERAL
-
-. .gitlab-ci/container/container_pre_build.sh
-
-############### Build kernel
-
-export DEFCONFIG="arch/x86/configs/x86_64_defconfig"
-export KERNEL_IMAGE_NAME=bzImage
-export KERNEL_ARCH=x86_64
-export DEBIAN_ARCH=amd64
-
-mkdir -p /lava-files/
-. .gitlab-ci/container/build-kernel.sh
-
# Needed for ci-fairy, this revision is able to upload files to MinIO
# and doesn't depend on git
-pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2
-
-# Needed for manipulation with traces yaml files.
-pip3 install yq
-
-# Needed for crosvm compilation.
-update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 100
-
-############### Build LLVM-SPIRV translator
-
-. .gitlab-ci/container/build-llvm-spirv.sh
-
-############### Build libclc
-
-. .gitlab-ci/container/build-libclc.sh
-
-############### Build libdrm
-
-. .gitlab-ci/container/build-libdrm.sh
-
-############### Build Wayland
-
-. .gitlab-ci/container/build-wayland.sh
-
-############### Build Crosvm
-
-. .gitlab-ci/container/build-rust.sh
-. .gitlab-ci/container/build-crosvm.sh
+pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@0f1abc24c043e63894085a6bd12f14263e8b29eb
############### Build dEQP runner
. .gitlab-ci/container/build-deqp-runner.sh
-
-rm -rf /root/.cargo
-rm -rf /root/.rustup
-
-ccache --show-stats
+rm -rf ~/.cargo
apt-get purge -y $STABLE_EPHEMERAL
diff --git a/lib/mesa/.gitlab-ci/container/debian/x86_test-gl.sh b/lib/mesa/.gitlab-ci/container/debian/x86_test-gl.sh
index d616c3ec2..ce9bec8b9 100644
--- a/lib/mesa/.gitlab-ci/container/debian/x86_test-gl.sh
+++ b/lib/mesa/.gitlab-ci/container/debian/x86_test-gl.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-# shellcheck disable=SC2086 # we want word splitting
set -e
set -o xtrace
@@ -8,18 +7,25 @@ export DEBIAN_FRONTEND=noninteractive
# Ephemeral packages (installed for this script and removed again at the end)
STABLE_EPHEMERAL=" \
+ autoconf \
+ automake \
+ bc \
+ bison \
bzip2 \
ccache \
- clang-13 \
clang-11 \
cmake \
+ flex \
g++ \
glslang-tools \
libasound2-dev \
libcap-dev \
- libclang-cpp13-dev \
libclang-cpp11-dev \
+ libelf-dev \
+ libfdt-dev \
+ libgbm-dev \
libgles2-mesa-dev \
+ libllvmspirvlib-dev \
libpciaccess-dev \
libpng-dev \
libudev-dev \
@@ -28,48 +34,75 @@ STABLE_EPHEMERAL=" \
libwayland-dev \
libx11-xcb-dev \
libxcb-dri2-0-dev \
+ libxext-dev \
libxkbcommon-dev \
- libxrandr-dev \
libxrender-dev \
- llvm-13-dev \
llvm-11-dev \
+ llvm-spirv \
make \
meson \
ocl-icd-opencl-dev \
patch \
pkg-config \
python3-distutils \
+ wayland-protocols \
+ wget \
xz-utils \
"
-apt-get update
-
apt-get install -y --no-remove \
$STABLE_EPHEMERAL \
clinfo \
+ inetutils-syslogd \
iptables \
- libclang-common-13-dev \
libclang-common-11-dev \
- libclang-cpp13 \
libclang-cpp11 \
libcap2 \
libegl1 \
- libepoxy0 \
libfdt1 \
+ libllvmspirvlib11 \
libxcb-shm0 \
ocl-icd-libopencl1 \
python3-lxml \
python3-renderdoc \
python3-simplejson \
spirv-tools \
- weston
+ sysvinit-core
. .gitlab-ci/container/container_pre_build.sh
+############### Build kernel
+
+export DEFCONFIG="arch/x86/configs/x86_64_defconfig"
+export KERNEL_IMAGE_NAME=bzImage
+export KERNEL_ARCH=x86_64
+export DEBIAN_ARCH=amd64
+
+mkdir -p /lava-files/
+. .gitlab-ci/container/build-kernel.sh
+
+############### Build libdrm
+
+. .gitlab-ci/container/build-libdrm.sh
+
+############### Build libclc
+
+. .gitlab-ci/container/build-libclc.sh
+
+############### Build virglrenderer
+
+. .gitlab-ci/container/build-virglrenderer.sh
+
############### Build piglit
-PIGLIT_OPTS="-DPIGLIT_BUILD_GLX_TESTS=ON -DPIGLIT_BUILD_CL_TESTS=ON -DPIGLIT_BUILD_DMA_BUF_TESTS=ON" . .gitlab-ci/container/build-piglit.sh
+PIGLIT_OPTS="-DPIGLIT_BUILD_CL_TESTS=ON -DPIGLIT_BUILD_DMA_BUF_TESTS=ON" . .gitlab-ci/container/build-piglit.sh
+
+############### Build Crosvm
+
+. .gitlab-ci/container/build-rust.sh
+. .gitlab-ci/container/build-crosvm.sh
+rm -rf /root/.cargo
############### Build dEQP GL
@@ -79,10 +112,6 @@ DEQP_TARGET=surfaceless . .gitlab-ci/container/build-deqp.sh
. .gitlab-ci/container/build-apitrace.sh
-############### Build validation layer for zink
-
-. .gitlab-ci/container/build-vulkan-validation.sh
-
############### Uninstall the build software
ccache --show-stats
diff --git a/lib/mesa/.gitlab-ci/container/debian/x86_test-vk.sh b/lib/mesa/.gitlab-ci/container/debian/x86_test-vk.sh
index 42b90a3a9..b10d61162 100644
--- a/lib/mesa/.gitlab-ci/container/debian/x86_test-vk.sh
+++ b/lib/mesa/.gitlab-ci/container/debian/x86_test-vk.sh
@@ -1,7 +1,4 @@
#!/bin/bash
-# The relative paths in this file only become valid at runtime.
-# shellcheck disable=SC1091
-# shellcheck disable=SC2086 # we want word splitting
set -e
set -o xtrace
@@ -16,8 +13,6 @@ STABLE_EPHEMERAL=" \
g++-mingw-w64-i686-posix \
g++-mingw-w64-x86-64-posix \
glslang-tools \
- libexpat1-dev \
- gnupg2 \
libgbm-dev \
libgles2-mesa-dev \
liblz4-dev \
@@ -25,6 +20,7 @@ STABLE_EPHEMERAL=" \
libudev-dev \
libvulkan-dev \
libwaffle-dev \
+ libwayland-dev \
libx11-xcb-dev \
libxcb-ewmh-dev \
libxcb-keysyms1-dev \
@@ -39,54 +35,81 @@ STABLE_EPHEMERAL=" \
p7zip \
patch \
pkg-config \
- python3-dev \
python3-distutils \
- python3-pip \
- python3-setuptools \
- python3-wheel \
- software-properties-common \
- wine64-tools \
+ wget \
xz-utils \
"
-apt-get install -y --no-remove --no-install-recommends \
+apt-get install -y --no-remove \
$STABLE_EPHEMERAL \
- curl \
- libepoxy0 \
libxcb-shm0 \
- pciutils \
python3-lxml \
python3-simplejson \
xinit \
xserver-xorg-video-amdgpu \
xserver-xorg-video-ati
-# Install a more recent version of Wine than exists in Debian.
-apt-key add .gitlab-ci/container/debian/winehq.gpg.key
-apt-add-repository https://dl.winehq.org/wine-builds/debian/
-apt-get update -q
-
-# workaround wine needing 32-bit
-# https://bugs.winehq.org/show_bug.cgi?id=53393
-apt-get install -y --no-remove wine-stable-amd64 # a requirement for wine-stable
-WINE_PKG="wine-stable"
-WINE_PKG_DROP="wine-stable-i386"
-apt-get download "${WINE_PKG}"
-dpkg --ignore-depends="${WINE_PKG_DROP}" -i "${WINE_PKG}"*.deb
-rm "${WINE_PKG}"*.deb
-sed -i "/${WINE_PKG_DROP}/d" /var/lib/dpkg/status
-apt-get install -y --no-remove winehq-stable # symlinks-only, depends on wine-stable
+# We need multiarch for Wine
+dpkg --add-architecture i386
+
+apt-get update
+
+apt-get install -y --no-remove \
+ wine \
+ wine32 \
+ wine64
+
+function setup_wine() {
+ export WINEDEBUG="-all"
+ export WINEPREFIX="$1"
+
+ # We don't want crash dialogs
+ cat >crashdialog.reg <<EOF
+Windows Registry Editor Version 5.00
+
+[HKEY_CURRENT_USER\Software\Wine\WineDbg]
+"ShowCrashDialog"=dword:00000000
+
+EOF
+
+ # Set the wine prefix and disable the crash dialog
+ wine regedit crashdialog.reg
+ rm crashdialog.reg
+
+ # An immediate wine command may fail with: "${WINEPREFIX}: Not a
+ # valid wine prefix." and that is just spit because of checking
+ # the existance of the system.reg file, which fails. Just giving
+ # it a bit more of time for it to be created solves the problem
+ # ...
+ while ! test -f "${WINEPREFIX}/system.reg"; do sleep 1; done
+}
############### Install DXVK
-. .gitlab-ci/container/setup-wine.sh "/dxvk-wine64"
-. .gitlab-ci/container/install-wine-dxvk.sh
+DXVK_VERSION="1.8.1"
-############### Install apitrace binaries for wine
+setup_wine "/dxvk-wine64"
+
+wget "https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VERSION}/dxvk-${DXVK_VERSION}.tar.gz"
+tar xzpf dxvk-"${DXVK_VERSION}".tar.gz
+dxvk-"${DXVK_VERSION}"/setup_dxvk.sh install
+rm -rf dxvk-"${DXVK_VERSION}"
+rm dxvk-"${DXVK_VERSION}".tar.gz
+
+############### Install Windows' apitrace binaries
+
+APITRACE_VERSION="10.0"
+APITRACE_VERSION_DATE=""
+
+wget "https://github.com/apitrace/apitrace/releases/download/${APITRACE_VERSION}/apitrace-${APITRACE_VERSION}${APITRACE_VERSION_DATE}-win64.7z"
+7zr x "apitrace-${APITRACE_VERSION}${APITRACE_VERSION_DATE}-win64.7z" \
+ "apitrace-${APITRACE_VERSION}${APITRACE_VERSION_DATE}-win64/bin/apitrace.exe" \
+ "apitrace-${APITRACE_VERSION}${APITRACE_VERSION_DATE}-win64/bin/d3dretrace.exe"
+mv "apitrace-${APITRACE_VERSION}${APITRACE_VERSION_DATE}-win64" /apitrace-msvc-win64
+rm "apitrace-${APITRACE_VERSION}${APITRACE_VERSION_DATE}-win64.7z"
-. .gitlab-ci/container/install-wine-apitrace.sh
# Add the apitrace path to the registry
-wine64 \
+wine \
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" \
/v Path \
/t REG_EXPAND_SZ \
@@ -97,11 +120,15 @@ wine64 \
. .gitlab-ci/container/container_pre_build.sh
+############### Build libdrm
+
+. .gitlab-ci/container/build-libdrm.sh
+
############### Build parallel-deqp-runner's hang-detection tool
. .gitlab-ci/container/build-hang-detection.sh
-############### Build piglit replayer
+############### Build piglit
PIGLIT_BUILD_TARGETS="piglit_replayer" . .gitlab-ci/container/build-piglit.sh
@@ -113,17 +140,13 @@ PIGLIT_BUILD_TARGETS="piglit_replayer" . .gitlab-ci/container/build-piglit.sh
. .gitlab-ci/container/build-deqp.sh
-############### Build apitrace
-
-. .gitlab-ci/container/build-apitrace.sh
-
############### Build gfxreconstruct
. .gitlab-ci/container/build-gfxreconstruct.sh
############### Build VKD3D-Proton
-. .gitlab-ci/container/setup-wine.sh "/vkd3d-proton-wine64"
+setup_wine "/vkd3d-proton-wine64"
. .gitlab-ci/container/build-vkd3d-proton.sh
diff --git a/lib/mesa/.gitlab-ci/container/fedora/x86_build.sh b/lib/mesa/.gitlab-ci/container/fedora/x86_build.sh
index eb03f8ff5..718e49e93 100644
--- a/lib/mesa/.gitlab-ci/container/fedora/x86_build.sh
+++ b/lib/mesa/.gitlab-ci/container/fedora/x86_build.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-# shellcheck disable=SC2086 # we want word splitting
set -e
set -o xtrace
@@ -9,24 +8,23 @@ EPHEMERAL="
autoconf
automake
bzip2
- cmake
git
libtool
pkgconfig(epoxy)
pkgconfig(gbm)
- pkgconfig(openssl)
unzip
+ wget
xz
"
dnf install -y --setopt=install_weak_deps=False \
bison \
+ ccache \
clang-devel \
flex \
gcc \
gcc-c++ \
gettext \
- glslang \
kernel-headers \
llvm-devel \
meson \
@@ -42,6 +40,9 @@ dnf install -y --setopt=install_weak_deps=False \
"pkgconfig(pciaccess)" \
"pkgconfig(vdpau)" \
"pkgconfig(vulkan)" \
+ "pkgconfig(wayland-egl-backend)" \
+ "pkgconfig(wayland-protocols)" \
+ "pkgconfig(wayland-scanner)" \
"pkgconfig(x11)" \
"pkgconfig(x11-xcb)" \
"pkgconfig(xcb)" \
@@ -59,14 +60,12 @@ dnf install -y --setopt=install_weak_deps=False \
"pkgconfig(xshmfence)" \
"pkgconfig(xxf86vm)" \
"pkgconfig(zlib)" \
- procps-ng \
python-unversioned-command \
python3-devel \
python3-mako \
- python3-ply \
+ python3-devel \
+ python3-mako \
vulkan-headers \
- spirv-tools-devel \
- spirv-llvm-translator-devel \
$EPHEMERAL
@@ -75,20 +74,23 @@ dnf install -y --setopt=install_weak_deps=False \
# dependencies where we want a specific version
export XORG_RELEASES=https://xorg.freedesktop.org/releases/individual
+export WAYLAND_RELEASES=https://wayland.freedesktop.org/releases
export XORGMACROS_VERSION=util-macros-1.19.0
+export LIBWAYLAND_VERSION=wayland-1.18.0
-curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
- -O $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
+wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
tar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2
cd $XORGMACROS_VERSION; ./configure; make install; cd ..
rm -rf $XORGMACROS_VERSION
-. .gitlab-ci/container/build-mold.sh
-
. .gitlab-ci/container/build-libdrm.sh
-. .gitlab-ci/container/build-wayland.sh
+wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz
+tar -xvf $LIBWAYLAND_VERSION.tar.xz && rm $LIBWAYLAND_VERSION.tar.xz
+cd $LIBWAYLAND_VERSION; ./configure --enable-libraries --without-host-scanner --disable-documentation --disable-dtd-validation; make install; cd ..
+rm -rf $LIBWAYLAND_VERSION
+
pushd /usr/local
git clone https://gitlab.freedesktop.org/mesa/shader-db.git --depth 1
diff --git a/lib/mesa/docs/_extra/specs/MESA_bgra.txt b/lib/mesa/docs/_extra/specs/MESA_bgra.txt
index 39793e3cf..05de73593 100644
--- a/lib/mesa/docs/_extra/specs/MESA_bgra.txt
+++ b/lib/mesa/docs/_extra/specs/MESA_bgra.txt
@@ -81,7 +81,7 @@ Additions to Chapter 8 of the GLES 3.2 Specification (Textures and Samplers)
BGRA_EXT B, G, R, A Color
- Add to table 8.9 (Effective internal format corresponding to
+ Add to table 8.9 (Effective internal format correspondig to
external format).
Format Type Effective
diff --git a/lib/mesa/src/asahi/lib/hexdump.h b/lib/mesa/src/asahi/lib/hexdump.h
index c26d234a8..44d075358 100644
--- a/lib/mesa/src/asahi/lib/hexdump.h
+++ b/lib/mesa/src/asahi/lib/hexdump.h
@@ -1,6 +1,24 @@
/*
- * Copyright 2021 Alyssa Rosenzweig
- * SPDX-License-Identifier: MIT
+ * Copyright (C) 2021 Alyssa Rosenzweig <alyssa@rosenzweig.io>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * 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.
*/
#ifndef __HEXDUMP_H