About Social Code
aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci/container/debian/test-gl.sh
blob: a275b6ea126fb17db30ede25d635d8db547ee8bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#!/usr/bin/env bash
# shellcheck disable=SC2086 # we want word splitting

set -e

. .gitlab-ci/setup-test-env.sh

set -o xtrace

uncollapsed_section_start debian_setup "Base Debian system setup"

export DEBIAN_FRONTEND=noninteractive
: "${LLVM_VERSION:?llvm version not set!}"

apt-get install -y libelogind0  # this interfere with systemd deps, install separately

# Ephemeral packages (installed for this script and removed again at the end)
EPHEMERAL=(
    bzip2
    ccache
    "clang-${LLVM_VERSION}"
    cmake
    dpkg-dev
    g++
    glslang-tools
    libasound2-dev
    libcap-dev
    "libclang-cpp${LLVM_VERSION}-dev"
    libdrm-dev
    libfontconfig-dev
    libgl-dev
    libgles2-mesa-dev
    libglu1-mesa-dev
    libglx-dev
    libpciaccess-dev
    libpng-dev
    libudev-dev
    libwaffle-dev
    libwayland-dev
    libx11-xcb-dev
    libxcb-dri2-0-dev
    libxkbcommon-dev
    libxrandr-dev
    libxrender-dev
    "llvm-${LLVM_VERSION}-dev"
    "lld-${LLVM_VERSION}"
    make
    meson
    ocl-icd-opencl-dev
    patch
    pkgconf
    python-is-python3
    python3-distutils
    xz-utils
)

DEPS=(
    libfontconfig1
    libglu1-mesa
    libvulkan-dev
)

apt-get update

apt-get install -y --no-remove "${DEPS[@]}" "${EPHEMERAL[@]}" \
      $EXTRA_LOCAL_PACKAGES


. .gitlab-ci/container/container_pre_build.sh

section_end debian_setup

############### Build ANGLE

if [ "$DEBIAN_ARCH" != "armhf" ]; then
  ANGLE_TARGET=linux \
  . .gitlab-ci/container/build-angle.sh
fi

############### Build piglit

PIGLIT_OPTS="-DPIGLIT_USE_WAFFLE=ON
	     -DPIGLIT_USE_GBM=ON
	     -DPIGLIT_USE_WAYLAND=ON
	     -DPIGLIT_USE_X11=ON
	     -DPIGLIT_BUILD_GLX_TESTS=ON
	     -DPIGLIT_BUILD_EGL_TESTS=ON
	     -DPIGLIT_BUILD_WGL_TESTS=OFF
	     -DPIGLIT_BUILD_GL_TESTS=ON
	     -DPIGLIT_BUILD_GLES1_TESTS=ON
	     -DPIGLIT_BUILD_GLES2_TESTS=ON
	     -DPIGLIT_BUILD_GLES3_TESTS=ON
	     -DPIGLIT_BUILD_CL_TESTS=ON
	     -DPIGLIT_BUILD_VK_TESTS=ON
	     -DPIGLIT_BUILD_DMA_BUF_TESTS=ON" \
  . .gitlab-ci/container/build-piglit.sh

############### Build dEQP GL

DEQP_API=tools \
DEQP_TARGET=surfaceless \
. .gitlab-ci/container/build-deqp.sh

DEQP_API=GL \
DEQP_TARGET=surfaceless \
. .gitlab-ci/container/build-deqp.sh

DEQP_API=GLES \
DEQP_TARGET=surfaceless \
. .gitlab-ci/container/build-deqp.sh

rm -rf /VK-GL-CTS

############### Build validation layer for zink

. .gitlab-ci/container/build-vulkan-validation.sh


############### Build SKQP

if [ "$DEBIAN_ARCH" != "armhf" ]; then
  . .gitlab-ci/container/build-skqp.sh
fi

############### Uninstall the build software

uncollapsed_section_switch debian_cleanup "Cleaning up base Debian system"

apt-get purge -y "${EPHEMERAL[@]}"

. .gitlab-ci/container/container_post_build.sh

section_end debian_cleanup

############### Remove unused packages

. .gitlab-ci/container/strip-rootfs.sh