aco/gfx10: Refactor of GFX10 wave64 bpermute.
[mesa.git] / .gitlab-ci / container / x86_test-vk.sh
1 #!/bin/bash
2
3 set -e
4 set -o xtrace
5
6 export DEBIAN_FRONTEND=noninteractive
7
8 # Ephemeral packages (installed for this script and removed again at the end)
9 STABLE_EPHEMERAL=" \
10 ccache \
11 cmake \
12 g++ \
13 libgbm-dev \
14 libgles2-mesa-dev \
15 liblz4-dev \
16 libpng-dev \
17 libvulkan-dev \
18 libxcb-ewmh-dev \
19 libxcb-keysyms1-dev \
20 libxkbcommon-dev \
21 libxrandr-dev \
22 libxrender-dev \
23 meson \
24 p7zip \
25 pkg-config \
26 python3-distutils \
27 wget \
28 "
29
30 apt-get install -y --no-remove \
31 $STABLE_EPHEMERAL
32
33 # We need multiarch for Wine
34 dpkg --add-architecture i386
35
36 apt-get update
37
38 apt-get install -y --no-remove \
39 wine \
40 wine32 \
41 wine64
42
43
44 ############### Set up Wine env variables
45
46 export WINEDEBUG="-all"
47 export WINEPREFIX="/dxvk-wine64"
48
49 ############### Install DXVK
50
51 DXVK_VERSION="1.6"
52
53 # We don't want crash dialogs
54 cat >crashdialog.reg <<EOF
55 Windows Registry Editor Version 5.00
56
57 [HKEY_CURRENT_USER\Software\Wine\WineDbg]
58 "ShowCrashDialog"=dword:00000000
59
60 EOF
61
62 # Set the wine prefix and disable the crash dialog
63 wine regedit crashdialog.reg
64 rm crashdialog.reg
65
66 # DXVK's setup often fails with:
67 # "${WINEPREFIX}: Not a valid wine prefix."
68 # and that is just spit because of checking the existance of the
69 # system.reg file, which fails.
70 # Just giving it a bit more of time for it to be created solves the
71 # problem ...
72 test -f "${WINEPREFIX}/system.reg" || sleep 2
73
74 wget "https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VERSION}/dxvk-${DXVK_VERSION}.tar.gz"
75 tar xzpf dxvk-"${DXVK_VERSION}".tar.gz
76 dxvk-"${DXVK_VERSION}"/setup_dxvk.sh install
77 rm -rf dxvk-"${DXVK_VERSION}"
78 rm dxvk-"${DXVK_VERSION}".tar.gz
79
80 ############### Install Windows' apitrace binaries
81
82 APITRACE_VERSION="9.0"
83 APITRACE_VERSION_DATE="20191126"
84
85 wget "https://github.com/apitrace/apitrace/releases/download/${APITRACE_VERSION}/apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64.7z"
86 7zr x "apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64.7z" \
87 "apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64/bin/apitrace.exe" \
88 "apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64/bin/d3dretrace.exe"
89 mv "apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64" /apitrace-msvc-win64
90 rm "apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64.7z"
91
92 # Add the apitrace path to the registry
93 wine \
94 reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" \
95 /v Path \
96 /t REG_EXPAND_SZ \
97 /d "C:\windows\system32;C:\windows;C:\windows\system32\wbem;Z:\apitrace-msvc-win64\bin" \
98 /f
99
100 ############### Building ...
101
102 . .gitlab-ci/container/container_pre_build.sh
103
104 ############### Build dEQP runner
105
106 . .gitlab-ci/build-cts-runner.sh
107
108 ############### Build Fossilize
109
110 . .gitlab-ci/build-fossilize.sh
111
112 ############### Build dEQP VK
113
114 . .gitlab-ci/build-deqp-vk.sh
115
116 ############### Build gfxreconstruct
117
118 . .gitlab-ci/build-gfxreconstruct.sh
119
120 ############### Build VulkanTools
121
122 . .gitlab-ci/build-vulkantools.sh
123
124 ############### Uninstall the build software
125
126 ccache --show-stats
127
128 apt-get purge -y \
129 $STABLE_EPHEMERAL
130
131 apt-get autoremove -y --purge