diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2022-02-24 01:52:23 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2022-02-24 01:52:23 +0000 |
commit | 86307b7c8a069a6a41db25a2d725aa12b93811ed (patch) | |
tree | d957ce6cc6f57aa2f382dad84dcdf713c6cbf8b6 /lib | |
parent | 0f5aa2b7f04b8c1284aa3c20d40c16d50e1b3602 (diff) |
Import Mesa 21.3.7
Diffstat (limited to 'lib')
-rw-r--r-- | lib/mesa/.gitlab-ci/container/debian/arm_build.sh | 31 | ||||
-rw-r--r-- | lib/mesa/.gitlab-ci/container/debian/x86_build-base.sh | 37 | ||||
-rw-r--r-- | lib/mesa/.gitlab-ci/container/debian/x86_build.sh | 64 | ||||
-rw-r--r-- | lib/mesa/.gitlab-ci/container/debian/x86_test-base.sh | 102 | ||||
-rw-r--r-- | lib/mesa/.gitlab-ci/container/debian/x86_test-gl.sh | 61 | ||||
-rw-r--r-- | lib/mesa/.gitlab-ci/container/debian/x86_test-vk.sh | 105 | ||||
-rw-r--r-- | lib/mesa/.gitlab-ci/container/fedora/x86_build.sh | 28 | ||||
-rw-r--r-- | lib/mesa/docs/_extra/specs/MESA_bgra.txt | 2 | ||||
-rw-r--r-- | lib/mesa/src/asahi/lib/hexdump.h | 22 |
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 |