From: Eric Anholt Date: Thu, 28 May 2020 19:50:51 +0000 (-0700) Subject: ci: Build the full VK CTS for baremetal testing. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dd167788ec1afaa3b960eda16a05621e842f40dd;p=mesa.git ci: Build the full VK CTS for baremetal testing. I'm going to enable the VK CTS on cheza, so swap the deqp we have in the container. build-deqp-vk already included GLES deqp binaries and data, and is a newer branch than the last opengl-es-cts tag. This brings a few things back over from build-deqp-gl for testlog extraction, and copyes out the GLES mustpass lists. Reviewed-by: Christian Gmeiner Part-of: --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a99363bcfe8..2f6c1f11504 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -237,7 +237,7 @@ x86_test-gl: x86_test-vk: extends: .use-x86_test-base variables: - FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-06-02-new-vk-cts" + FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-06-02-gles" # Debian 9 based x86 build image (old LLVM) x86_build_old: @@ -292,7 +292,7 @@ arm64_test: extends: - .use-arm_test-base variables: - FDO_DISTRIBUTION_TAG: &arm64_test "2020-06-08" + FDO_DISTRIBUTION_TAG: &arm64_test "2020-06-09-cheza-vk" .use-arm64_test: variables: diff --git a/.gitlab-ci/bare-metal/fastboot.sh b/.gitlab-ci/bare-metal/fastboot.sh index d9360d2140e..f7db884c9f0 100755 --- a/.gitlab-ci/bare-metal/fastboot.sh +++ b/.gitlab-ci/bare-metal/fastboot.sh @@ -51,9 +51,13 @@ set -ex mkdir rootfs . .gitlab-ci/bare-metal/rootfs-setup.sh rootfs -# Finally, pack it up into a cpio rootfs. +# Finally, pack it up into a cpio rootfs. Skip the vulkan CTS since none of +# these devices use it and it would take up space in the initrd. pushd rootfs - find -H | cpio -H newc -o | xz --check=crc32 -T4 - > $CI_PROJECT_DIR/rootfs.cpio.gz +find -H | \ + egrep -v "external/(openglcts|vulkancts|amber|glslang|spirv-tools)" | \ + cpio -H newc -o | \ + xz --check=crc32 -T4 - > $CI_PROJECT_DIR/rootfs.cpio.gz popd cat $BM_KERNEL $BM_DTB > Image.gz-dtb diff --git a/.gitlab-ci/build-deqp-vk.sh b/.gitlab-ci/build-deqp-vk.sh index 4751ebfcd55..9142c5220cb 100644 --- a/.gitlab-ci/build-deqp-vk.sh +++ b/.gitlab-ci/build-deqp-vk.sh @@ -21,27 +21,43 @@ python3 external/fetch_sources.py --insecure mkdir -p /deqp +# Save the testlog stylesheets: +cp doc/testlog-stylesheet/testlog.{css,xsl} /deqp popd pushd /deqp cmake -G Ninja \ - -DDEQP_TARGET=x11_glx \ + -DDEQP_TARGET=${DEQP_TARGET:-x11_glx} \ -DCMAKE_BUILD_TYPE=Release \ + $EXTRA_CMAKE_ARGS \ /VK-GL-CTS ninja -# Copy out the mustpass list we want. +# Copy out the mustpass lists we want. mkdir /deqp/mustpass cp /VK-GL-CTS/external/vulkancts/mustpass/master/vk-default.txt \ /deqp/mustpass/vk-master.txt -rm -rf /deqp/modules/internal +for gles in gles2 gles3 gles31; do + cp \ + /deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.6.x/$gles-master.txt \ + /deqp/mustpass/$gles-master.txt +done + +# Save *some* executor utils, but otherwise strip things down +# to reduct deqp build size: +mkdir /deqp/executor.save +cp /deqp/executor/testlog-to-* /deqp/executor.save rm -rf /deqp/executor +mv /deqp/executor.save /deqp/executor + +rm -rf /deqp/modules/internal rm -rf /deqp/execserver rm -rf /deqp/modules/egl rm -rf /deqp/framework find -iname '*cmake*' -o -name '*ninja*' -o -name '*.o' -o -name '*.a' | xargs rm -rf -strip external/vulkancts/modules/vulkan/deqp-vk +${STRIP_CMD:-strip} external/vulkancts/modules/vulkan/deqp-vk +${STRIP_CMD:-strip} modules/*/deqp-* du -sh * rm -rf /VK-GL-CTS popd diff --git a/.gitlab-ci/container/baremetal_build.sh b/.gitlab-ci/container/baremetal_build.sh index 09527410182..0f697f0c75c 100644 --- a/.gitlab-ci/container/baremetal_build.sh +++ b/.gitlab-ci/container/baremetal_build.sh @@ -32,7 +32,7 @@ mkdir /var/cache/apt/archives/$arch ############### Create rootfs -DEBIAN_ARCH=$arch . .gitlab-ci/container/lava_arm.sh +DEBIAN_ARCH=$arch INCLUDE_VK_CTS=1 . .gitlab-ci/container/lava_arm.sh ccache --show-stats diff --git a/.gitlab-ci/container/lava_arm.sh b/.gitlab-ci/container/lava_arm.sh index ccebf1b823b..b5412804fbb 100644 --- a/.gitlab-ci/container/lava_arm.sh +++ b/.gitlab-ci/container/lava_arm.sh @@ -34,7 +34,12 @@ mv /usr/local/bin/deqp-runner /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin/. ############### Build dEQP STRIP_CMD="${GCC_ARCH}-strip" -. .gitlab-ci/build-deqp-gl.sh +if [ -n "$INCLUDE_VK_CTS" ]; then + DEQP_TARGET=surfaceless . .gitlab-ci/build-deqp-vk.sh +else + . .gitlab-ci/build-deqp-gl.sh +fi + mv /deqp /lava-files/rootfs-${DEBIAN_ARCH}/. diff --git a/.gitlab-ci/create-rootfs.sh b/.gitlab-ci/create-rootfs.sh index 6399a88ce3e..46a3dd239df 100644 --- a/.gitlab-ci/create-rootfs.sh +++ b/.gitlab-ci/create-rootfs.sh @@ -15,6 +15,11 @@ apt-get -y install --no-install-recommends \ netcat-openbsd \ wget \ xz-utils + +if [ -n "$INCLUDE_VK_CTS" ]; then + apt-get install -y libvulkan1 +fi + passwd root -d chsh -s /bin/sh