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