• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/bash
2
3set -ex
4
5git config --global user.email "mesa@example.com"
6git config --global user.name "Mesa CI"
7git clone \
8    https://github.com/KhronosGroup/VK-GL-CTS.git \
9    -b vulkan-cts-1.2.7.1 \
10    --depth 1 \
11    /VK-GL-CTS
12pushd /VK-GL-CTS
13
14# --insecure is due to SSL cert failures hitting sourceforge for zlib and
15# libpng (sigh).  The archives get their checksums checked anyway, and git
16# always goes through ssh or https.
17python3 external/fetch_sources.py --insecure
18
19mkdir -p /deqp
20
21# Save the testlog stylesheets:
22cp doc/testlog-stylesheet/testlog.{css,xsl} /deqp
23popd
24
25pushd /deqp
26# When including EGL/X11 testing, do that build first and save off its
27# deqp-egl binary.
28cmake -S /VK-GL-CTS -B . -G Ninja \
29      -DDEQP_TARGET=x11_egl_glx \
30      -DCMAKE_BUILD_TYPE=Release \
31      $EXTRA_CMAKE_ARGS
32ninja modules/egl/deqp-egl
33cp /deqp/modules/egl/deqp-egl /deqp/modules/egl/deqp-egl-x11
34
35
36cmake -S /VK-GL-CTS -B . -G Ninja \
37      -DDEQP_TARGET=${DEQP_TARGET:-x11_glx} \
38      -DCMAKE_BUILD_TYPE=Release \
39      $EXTRA_CMAKE_ARGS
40ninja
41
42mv /deqp/modules/egl/deqp-egl-x11 /deqp/modules/egl/deqp-egl
43
44# Copy out the mustpass lists we want.
45mkdir /deqp/mustpass
46for mustpass in $(< /VK-GL-CTS/external/vulkancts/mustpass/master/vk-default.txt) ; do
47    cat /VK-GL-CTS/external/vulkancts/mustpass/master/$mustpass \
48        >> /deqp/mustpass/vk-master.txt
49done
50
51cp \
52    /deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.6.x/*.txt \
53    /deqp/mustpass/.
54cp \
55    /deqp/external/openglcts/modules/gl_cts/data/mustpass/egl/aosp_mustpass/3.2.6.x/egl-master.txt \
56    /deqp/mustpass/.
57cp \
58    /deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/khronos_mustpass/3.2.6.x/*-master.txt \
59    /deqp/mustpass/.
60cp \
61    /deqp/external/openglcts/modules/gl_cts/data/mustpass/gl/khronos_mustpass/4.6.1.x/*-master.txt \
62    /deqp/mustpass/.
63
64# Save *some* executor utils, but otherwise strip things down
65# to reduct deqp build size:
66mkdir /deqp/executor.save
67cp /deqp/executor/testlog-to-* /deqp/executor.save
68rm -rf /deqp/executor
69mv /deqp/executor.save /deqp/executor
70
71rm -rf /deqp/external/openglcts/modules/gl_cts/data/mustpass
72rm -rf /deqp/external/openglcts/modules/cts-runner
73rm -rf /deqp/modules/internal
74rm -rf /deqp/execserver
75rm -rf /deqp/framework
76find -iname '*cmake*' -o -name '*ninja*' -o -name '*.o' -o -name '*.a' | xargs rm -rf
77${STRIP_CMD:-strip} external/vulkancts/modules/vulkan/deqp-vk
78${STRIP_CMD:-strip} external/openglcts/modules/glcts
79${STRIP_CMD:-strip} modules/*/deqp-*
80du -sh *
81rm -rf /VK-GL-CTS
82popd
83