diff options
author | Andres Gomez <[email protected]> | 2020-03-08 23:37:23 +0200 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-03-27 13:48:17 +0000 |
commit | fb8fa83a30a1ec66982854da0a8d7870cf1d2f93 (patch) | |
tree | c15c127125be35c4ef6c4e2f19817a4126f0f977 | |
parent | 05a3b49308606fbf8c30688ece3177ad6eb17515 (diff) |
gitlab-ci: add Wine, win64's apitrace and DXVK to the Vulkan testing container
In preparation for having automated testing with DXGI traces.
v2:
- Updated DXVK version.
- Merged the new Wine container into the existing Vulkan
one (Michel).
v3:
- Updated commit log.
- Use a particular known-good apitrace version (Alexandros).
Signed-off-by: Andres Gomez <[email protected]>
Reviewed-by: Alexandros Frantzis <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4238>
-rw-r--r-- | .gitlab-ci.yml | 2 | ||||
-rw-r--r-- | .gitlab-ci/container/x86_test-vk.sh | 74 |
2 files changed, 74 insertions, 2 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6a4cad8b40a..f370a37b9ae 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -140,7 +140,7 @@ x86_test-gl: x86_test-vk: extends: x86_build variables: - FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-03-25" + FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-03-27" # Debian 9 based x86 build image (old LLVM) x86_build_old: diff --git a/.gitlab-ci/container/x86_test-vk.sh b/.gitlab-ci/container/x86_test-vk.sh index 250affa0044..57966a6af4b 100644 --- a/.gitlab-ci/container/x86_test-vk.sh +++ b/.gitlab-ci/container/x86_test-vk.sh @@ -52,15 +52,85 @@ apt-get install -y --no-remove \ libxrender-dev \ libxrender1 \ meson \ + p7zip \ pkg-config \ python \ python3-distutils \ python3-pil \ python3-requests \ python3-yaml \ + wget \ xauth \ xvfb +# We need multiarch for Wine +dpkg --add-architecture i386 + +apt-get update + +apt-get install -y --no-remove \ + wine \ + wine32 \ + wine64 + +############### Set up Wine env variables + +export WINEDEBUG="-all" +export WINEPREFIX="/dxvk-wine64" + +############### Install DXVK + +DXVK_VERSION="1.6" + +# 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 + +# DXVK's setup often fails 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 ... +test -f "${WINEPREFIX}/system.reg" || sleep 2 + +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="9.0" +APITRACE_VERSION_DATE="20191126" + +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" + +# Add the apitrace path to the registry +wine \ + reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" \ + /v Path \ + /t REG_EXPAND_SZ \ + /d "C:\windows\system32;C:\windows;C:\windows\system32\wbem;Z:\apitrace-msvc-win64\bin" \ + /f + +############### Building ... + . .gitlab-ci/container/container_pre_build.sh ############### Build dEQP runner @@ -104,6 +174,8 @@ apt-get purge -y \ libxrandr-dev \ libxrender-dev \ meson \ - pkg-config + p7zip \ + pkg-config \ + wget apt-get autoremove -y --purge |