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.3.2 \ 10 /VK-GL-CTS 11pushd /VK-GL-CTS 12 13# cherry-pick fix for surfaceless config choosing: 14git cherry-pick -x 8f3bfc6c7def0c0cb452d5dadf31aa7fef242365 15 16 17# --insecure is due to SSL cert failures hitting sourceforge for zlib and 18# libpng (sigh). The archives get their checksums checked anyway, and git 19# always goes through ssh or https. 20python3 external/fetch_sources.py --insecure 21 22mkdir -p /deqp 23 24# Save the testlog stylesheets: 25cp doc/testlog-stylesheet/testlog.{css,xsl} /deqp 26popd 27 28pushd /deqp 29cmake -G Ninja \ 30 -DDEQP_TARGET=${DEQP_TARGET:-x11_glx} \ 31 -DCMAKE_BUILD_TYPE=Release \ 32 $EXTRA_CMAKE_ARGS \ 33 /VK-GL-CTS 34ninja 35 36# Copy out the mustpass lists we want. 37mkdir /deqp/mustpass 38cp /VK-GL-CTS/external/vulkancts/mustpass/master/vk-default.txt \ 39 /deqp/mustpass/vk-master.txt 40 41cp \ 42 /deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.6.x/*.txt \ 43 /deqp/mustpass/. 44cp \ 45 /deqp/external/openglcts/modules/gl_cts/data/mustpass/gl/khronos_mustpass/4.6.1.x/*-master.txt \ 46 /deqp/mustpass/. 47 48# Save *some* executor utils, but otherwise strip things down 49# to reduct deqp build size: 50mkdir /deqp/executor.save 51cp /deqp/executor/testlog-to-* /deqp/executor.save 52rm -rf /deqp/executor 53mv /deqp/executor.save /deqp/executor 54 55rm -rf /deqp/external/openglcts/modules/gl_cts/data/mustpass 56rm -rf /deqp/external/openglcts/modules/cts-runner 57rm -rf /deqp/modules/internal 58rm -rf /deqp/execserver 59rm -rf /deqp/modules/egl 60rm -rf /deqp/framework 61find -iname '*cmake*' -o -name '*ninja*' -o -name '*.o' -o -name '*.a' | xargs rm -rf 62${STRIP_CMD:-strip} external/vulkancts/modules/vulkan/deqp-vk 63${STRIP_CMD:-strip} external/openglcts/modules/glcts 64${STRIP_CMD:-strip} modules/*/deqp-* 65du -sh * 66rm -rf /VK-GL-CTS 67popd 68