Module: Mesa
Branch: master
Commit: fb8fa83a30a1ec66982854da0a8d7870cf1d2f93
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb8fa83a30a1ec66982854da0a8d7870cf1d2f93

Author: Andres Gomez <[email protected]>
Date:   Sun Mar  8 23:37:23 2020 +0200

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>

---

 .gitlab-ci.yml                      |  2 +-
 .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

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to