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 <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5266>
x86_test-vk:
extends: .use-x86_test-base
variables:
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:
# Debian 9 based x86 build image (old LLVM)
x86_build_old:
extends:
- .use-arm_test-base
variables:
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:
.use-arm64_test:
variables:
mkdir rootfs
. .gitlab-ci/bare-metal/rootfs-setup.sh rootfs
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.
- 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
popd
cat $BM_KERNEL $BM_DTB > Image.gz-dtb
+# Save the testlog stylesheets:
+cp doc/testlog-stylesheet/testlog.{css,xsl} /deqp
popd
pushd /deqp
cmake -G Ninja \
popd
pushd /deqp
cmake -G Ninja \
- -DDEQP_TARGET=x11_glx \
+ -DDEQP_TARGET=${DEQP_TARGET:-x11_glx} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_BUILD_TYPE=Release \
-# 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
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
+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
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
du -sh *
rm -rf /VK-GL-CTS
popd
############### Create rootfs
############### Create rootfs
-DEBIAN_ARCH=$arch . .gitlab-ci/container/lava_arm.sh
+DEBIAN_ARCH=$arch INCLUDE_VK_CTS=1 . .gitlab-ci/container/lava_arm.sh
############### Build dEQP
STRIP_CMD="${GCC_ARCH}-strip"
############### 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}/.
mv /deqp /lava-files/rootfs-${DEBIAN_ARCH}/.
netcat-openbsd \
wget \
xz-utils
netcat-openbsd \
wget \
xz-utils
+
+if [ -n "$INCLUDE_VK_CTS" ]; then
+ apt-get install -y libvulkan1
+fi
+
passwd root -d
chsh -s /bin/sh
passwd root -d
chsh -s /bin/sh