panfrost/ci: Use Volt-based runner for dEQP tests
It's able to run tests in parallel, fully utilizing the HW and shortening considerable the time it takes. Needed to disable tests in RK3288 for now because Volt doesn't support armhf yet, though this should be fixed soon. Tests are now run with --deqp-gl-config-name=rgba8888d24s8ms0, so we are hitting a few more failures in tests that previously were being skipped. The time to run the tests decreases from around 8 minutes to 1:45 minutes, allowing for extending coverage without increasing CI times too much. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
parent
29834fe8a2
commit
76af465e57
|
@ -15,9 +15,9 @@ ln -s /bin/sh /init
|
||||||
rm -rf /etc/localtime
|
rm -rf /etc/localtime
|
||||||
cp /usr/share/zoneinfo/Etc/UTC /etc/localtime
|
cp /usr/share/zoneinfo/Etc/UTC /etc/localtime
|
||||||
|
|
||||||
|
UNNEEDED_PACKAGES="libfdisk1
|
||||||
UNNEEDED_PACKAGES=" libfdisk1"\
|
tzdata
|
||||||
" tzdata"\
|
diffutils"
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
@ -182,4 +182,4 @@ rm usr/lib/*/libdb-5.3.so
|
||||||
rm usr/lib/*/libnss_hesiod*
|
rm usr/lib/*/libnss_hesiod*
|
||||||
rm usr/lib/*/libnss_nis*
|
rm usr/lib/*/libnss_nis*
|
||||||
|
|
||||||
rm usr/bin/tar
|
rm bin/tar
|
||||||
|
|
|
@ -42,6 +42,13 @@ apt-get -y install --no-install-recommends \
|
||||||
procps \
|
procps \
|
||||||
qemu-user-static \
|
qemu-user-static \
|
||||||
cpio \
|
cpio \
|
||||||
|
clang-8 \
|
||||||
|
llvm-8 \
|
||||||
|
libclang-8-dev \
|
||||||
|
llvm-8-dev \
|
||||||
|
gdc-9 \
|
||||||
|
lld-8 \
|
||||||
|
nasm \
|
||||||
\
|
\
|
||||||
libdrm-dev:${DEBIAN_ARCH} \
|
libdrm-dev:${DEBIAN_ARCH} \
|
||||||
libx11-dev:${DEBIAN_ARCH} \
|
libx11-dev:${DEBIAN_ARCH} \
|
||||||
|
@ -65,12 +72,12 @@ apt-get -y install --no-install-recommends \
|
||||||
libelf-dev:${DEBIAN_ARCH} \
|
libelf-dev:${DEBIAN_ARCH} \
|
||||||
libwayland-dev:${DEBIAN_ARCH} \
|
libwayland-dev:${DEBIAN_ARCH} \
|
||||||
libwayland-egl-backend-dev:${DEBIAN_ARCH} \
|
libwayland-egl-backend-dev:${DEBIAN_ARCH} \
|
||||||
libclang-7-dev:${DEBIAN_ARCH} \
|
|
||||||
zlib1g-dev:${DEBIAN_ARCH} \
|
zlib1g-dev:${DEBIAN_ARCH} \
|
||||||
libglvnd-core-dev:${DEBIAN_ARCH} \
|
libglvnd-core-dev:${DEBIAN_ARCH} \
|
||||||
wayland-protocols:${DEBIAN_ARCH} \
|
wayland-protocols:${DEBIAN_ARCH} \
|
||||||
libpng-dev:${DEBIAN_ARCH}
|
libpng-dev:${DEBIAN_ARCH}
|
||||||
|
|
||||||
|
|
||||||
############### Cross-build dEQP
|
############### Cross-build dEQP
|
||||||
mkdir -p /artifacts/rootfs/deqp
|
mkdir -p /artifacts/rootfs/deqp
|
||||||
|
|
||||||
|
@ -89,7 +96,6 @@ cmake -DDEQP_TARGET=wayland \
|
||||||
/VK-GL-CTS-opengl-es-cts-3.2.5.0
|
/VK-GL-CTS-opengl-es-cts-3.2.5.0
|
||||||
make -j$(nproc)
|
make -j$(nproc)
|
||||||
rm -rf /artifacts/rootfs/deqp/external
|
rm -rf /artifacts/rootfs/deqp/external
|
||||||
rm -rf /artifacts/rootfs/deqp/modules/gles3
|
|
||||||
rm -rf /artifacts/rootfs/deqp/modules/gles31
|
rm -rf /artifacts/rootfs/deqp/modules/gles31
|
||||||
rm -rf /artifacts/rootfs/deqp/modules/internal
|
rm -rf /artifacts/rootfs/deqp/modules/internal
|
||||||
rm -rf /artifacts/rootfs/deqp/executor
|
rm -rf /artifacts/rootfs/deqp/executor
|
||||||
|
@ -102,6 +108,32 @@ du -sh *
|
||||||
rm -rf /VK-GL-CTS-opengl-es-cts-3.2.5.0
|
rm -rf /VK-GL-CTS-opengl-es-cts-3.2.5.0
|
||||||
|
|
||||||
|
|
||||||
|
############### Cross-build Volt dEQP runner
|
||||||
|
mkdir -p /battery
|
||||||
|
cd /battery
|
||||||
|
wget https://github.com/VoltLang/Battery/releases/download/v0.1.22/battery-0.1.22-x86_64-linux.tar.gz
|
||||||
|
tar xzvf battery-0.1.22-x86_64-linux.tar.gz
|
||||||
|
rm battery-0.1.22-x86_64-linux.tar.gz
|
||||||
|
mv battery /usr/local/bin
|
||||||
|
rm -rf /battery
|
||||||
|
|
||||||
|
mkdir -p /volt
|
||||||
|
cd /volt
|
||||||
|
git clone --depth=1 https://github.com/VoltLang/Watt.git
|
||||||
|
git clone --depth=1 https://github.com/VoltLang/Volta.git
|
||||||
|
git clone --depth=1 https://github.com/Wallbraker/dEQP.git
|
||||||
|
battery config --release --lto Volta Watt
|
||||||
|
battery build
|
||||||
|
battery config --arch aarch64 --cmd-volta Volta/volta Volta/rt Watt dEQP
|
||||||
|
battery build
|
||||||
|
cp dEQP/deqp /artifacts/rootfs/deqp/deqp-volt
|
||||||
|
rm -rf /volt
|
||||||
|
|
||||||
|
|
||||||
|
############### Remove LLVM now, so the container image is smaller
|
||||||
|
apt-get -y remove \*llvm\*
|
||||||
|
|
||||||
|
|
||||||
############### Cross-build kernel
|
############### Cross-build kernel
|
||||||
KERNEL_URL="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/snapshot/linux-5.2.tar.gz"
|
KERNEL_URL="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/snapshot/linux-5.2.tar.gz"
|
||||||
export ARCH=${KERNEL_ARCH}
|
export ARCH=${KERNEL_ARCH}
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -x
|
|
||||||
|
|
||||||
DEQP_OPTIONS="--deqp-surface-width=256 --deqp-surface-height=256"
|
DEQP_OPTIONS="--deqp-surface-width=256 --deqp-surface-height=256"
|
||||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden"
|
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden"
|
||||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-log-images=disable"
|
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-log-images=disable"
|
||||||
|
@ -24,26 +22,86 @@ sleep 1 # Give some time for Weston to start up
|
||||||
./deqp-gles2 $DEQP_OPTIONS --deqp-runmode=stdout-caselist | grep "TEST: dEQP-GLES2" | cut -d ' ' -f 2 > /tmp/case-list.txt
|
./deqp-gles2 $DEQP_OPTIONS --deqp-runmode=stdout-caselist | grep "TEST: dEQP-GLES2" | cut -d ' ' -f 2 > /tmp/case-list.txt
|
||||||
|
|
||||||
# Disable for now tests that are very slow, either by just using lots of CPU or by crashing
|
# Disable for now tests that are very slow, either by just using lots of CPU or by crashing
|
||||||
sed -i '/dEQP-GLES2.performance/d' /tmp/case-list.txt
|
FLIP_FLOPS="
|
||||||
sed -i '/dEQP-GLES2.stress/d' /tmp/case-list.txt
|
dEQP-GLES2.performance
|
||||||
sed -i '/dEQP-GLES2.functional.fbo.render.depth./d' /tmp/case-list.txt
|
dEQP-GLES2.stress
|
||||||
sed -i '/dEQP-GLES2.functional.flush_finish./d' /tmp/case-list.txt
|
dEQP-GLES2.functional.fbo.render.depth.
|
||||||
|
dEQP-GLES2.functional.flush_finish.
|
||||||
|
"
|
||||||
|
|
||||||
# Cannot use tee because dash doesn't have pipefail
|
# These pass or fail seemingly at random
|
||||||
touch /tmp/result.txt
|
FLIP_FLOPS="$FLIP_FLOPS
|
||||||
tail -f /tmp/result.txt &
|
dEQP-GLES2.performance
|
||||||
|
dEQP-GLES2.stress
|
||||||
|
dEQP-GLES2.functional.fbo.render.depth.
|
||||||
|
dEQP-GLES2.functional.flush_finish.
|
||||||
|
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
|
||||||
|
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_pos_y_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
|
||||||
|
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1
|
||||||
|
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1_depth_component16
|
||||||
|
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4
|
||||||
|
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4_depth_component16
|
||||||
|
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1
|
||||||
|
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1_depth_component16
|
||||||
|
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4
|
||||||
|
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4_depth_component16
|
||||||
|
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1
|
||||||
|
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_depth_component16
|
||||||
|
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_stencil_index8
|
||||||
|
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_depth_component16
|
||||||
|
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_stencil_index8
|
||||||
|
dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.
|
||||||
|
dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.
|
||||||
|
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgb5_a1
|
||||||
|
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgba4
|
||||||
|
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgb
|
||||||
|
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgba
|
||||||
|
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1
|
||||||
|
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4
|
||||||
|
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
|
||||||
|
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16
|
||||||
|
dEQP-GLES2.functional.fbo.render.stencil_clear.rbo_rgb5_a1_stencil_index8
|
||||||
|
dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgb5_a1_stencil_index8
|
||||||
|
dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgba4_stencil_index8
|
||||||
|
dEQP-GLES2.functional.fbo.render.stencil.rbo_rgb5_a1_stencil_index8
|
||||||
|
dEQP-GLES2.functional.fbo.render.stencil.rbo_rgba4_stencil_index8
|
||||||
|
dEQP-GLES2.functional.lifetime.attach.deleted_input.renderbuffer_framebuffer
|
||||||
|
dEQP-GLES2.functional.lifetime.attach.deleted_output.renderbuffer_framebuffer
|
||||||
|
dEQP-GLES2.functional.polygon_offset.fixed16_factor_0_slope
|
||||||
|
dEQP-GLES2.functional.polygon_offset.fixed16_factor_1_slope
|
||||||
|
dEQP-GLES2.functional.shaders.invariance.highp.loop_4
|
||||||
|
dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_mat4_vec4_vertex
|
||||||
|
dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_vec4_mat4_fragment
|
||||||
|
dEQP-GLES2.functional.shaders.operator.common_functions.smoothstep.mediump_vec3_vertex
|
||||||
|
dEQP-GLES2.functional.shaders.random.all_features.fragment.12
|
||||||
|
dEQP-GLES2.functional.shaders.random.all_features.fragment.37
|
||||||
|
dEQP-GLES2.functional.texture.units.2_units.mixed.1
|
||||||
|
dEQP-GLES2.functional.texture.units.2_units.mixed.3
|
||||||
|
dEQP-GLES2.functional.texture.units.2_units.only_2d.2
|
||||||
|
dEQP-GLES2.functional.texture.units.4_units.mixed.5
|
||||||
|
dEQP-GLES2.functional.texture.units.4_units.only_2d.0
|
||||||
|
dEQP-GLES2.functional.texture.units.8_units.only_cube.2
|
||||||
|
dEQP-GLES2.functional.texture.units.all_units.mixed.6
|
||||||
|
dEQP-GLES2.functional.texture.units.all_units.only_cube.4
|
||||||
|
dEQP-GLES2.functional.texture.units.all_units.only_cube.7
|
||||||
|
dEQP-GLES2.functional.texture.units.all_units.only_cube.8
|
||||||
|
"
|
||||||
|
|
||||||
|
for test in $FLIP_FLOPS; do sed -i "/$test/d" /tmp/case-list.txt; done
|
||||||
|
|
||||||
|
/deqp/deqp-volt --cts-build-dir=/deqp \
|
||||||
|
--threads=8 \
|
||||||
|
--test-names-file=/tmp/case-list.txt \
|
||||||
|
--results-file=/tmp/results.txt \
|
||||||
|
--no-passed-results \
|
||||||
|
--regression-file=/deqp/expected-failures.txt \
|
||||||
|
--no-rerun-tests
|
||||||
|
|
||||||
while [ -s /tmp/case-list.txt ]; do
|
|
||||||
./deqp-gles2 $DEQP_OPTIONS --deqp-log-filename=/dev/null --deqp-caselist-file=/tmp/case-list.txt >> /tmp/result.txt
|
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
# Continue from the subtest after the failing one
|
echo "Regressions detected, printing results:"
|
||||||
crashed_test=$(grep "Test case" /tmp/result.txt | tail -1 | sed "s/Test case '\(.*\)'\.\./\1/")
|
cat /tmp/results.txt
|
||||||
sed -i "0,/^$crashed_test$/d" /tmp/case-list.txt
|
echo "deqp: fail"
|
||||||
|
|
||||||
# So LAVA knows what happened
|
|
||||||
echo "Test case '$crashed_test'..
|
|
||||||
Crash"
|
|
||||||
else
|
else
|
||||||
break
|
echo "No regressions detected"
|
||||||
|
echo "deqp: pass"
|
||||||
fi
|
fi
|
||||||
done
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -16,7 +16,7 @@
|
||||||
variables:
|
variables:
|
||||||
UPSTREAM_REPO: mesa/mesa
|
UPSTREAM_REPO: mesa/mesa
|
||||||
DEBIAN_VERSION: testing-slim
|
DEBIAN_VERSION: testing-slim
|
||||||
IMAGE_TAG: "2019-07-25-1"
|
IMAGE_TAG: "2019-08-21-1"
|
||||||
|
|
||||||
include:
|
include:
|
||||||
- project: 'wayland/ci-templates'
|
- project: 'wayland/ci-templates'
|
||||||
|
@ -51,15 +51,15 @@ stages:
|
||||||
KERNEL_IMAGE_NAME=${KERNEL_IMAGE_NAME}
|
KERNEL_IMAGE_NAME=${KERNEL_IMAGE_NAME}
|
||||||
bash src/gallium/drivers/panfrost/ci/debian-install.sh'
|
bash src/gallium/drivers/panfrost/ci/debian-install.sh'
|
||||||
|
|
||||||
container:armhf:
|
#container:armhf:
|
||||||
extends: .container
|
# extends: .container
|
||||||
variables:
|
# variables:
|
||||||
DEBIAN_ARCH: "armhf"
|
# DEBIAN_ARCH: "armhf"
|
||||||
GCC_ARCH: "arm-linux-gnueabihf"
|
# GCC_ARCH: "arm-linux-gnueabihf"
|
||||||
KERNEL_ARCH: "arm"
|
# KERNEL_ARCH: "arm"
|
||||||
DEFCONFIG: "arch/arm/configs/multi_v7_defconfig"
|
# DEFCONFIG: "arch/arm/configs/multi_v7_defconfig"
|
||||||
DEVICE_TREES: "arch/arm/boot/dts/rk3288-veyron-jaq.dtb"
|
# DEVICE_TREES: "arch/arm/boot/dts/rk3288-veyron-jaq.dtb"
|
||||||
KERNEL_IMAGE_NAME: "zImage"
|
# KERNEL_IMAGE_NAME: "zImage"
|
||||||
|
|
||||||
container:arm64:
|
container:arm64:
|
||||||
extends: .container
|
extends: .container
|
||||||
|
@ -101,6 +101,7 @@ container:arm64:
|
||||||
|
|
||||||
# Pack rootfs
|
# Pack rootfs
|
||||||
- cp src/gallium/drivers/panfrost/ci/deqp-runner.sh /artifacts/rootfs/deqp/.
|
- cp src/gallium/drivers/panfrost/ci/deqp-runner.sh /artifacts/rootfs/deqp/.
|
||||||
|
- cp src/gallium/drivers/panfrost/ci/expected-failures.txt /artifacts/rootfs/deqp/.
|
||||||
- du -sh /artifacts/rootfs/deqp/*
|
- du -sh /artifacts/rootfs/deqp/*
|
||||||
- find /artifacts/rootfs/ -type f -printf "%s\t%p\n" | sort -n
|
- find /artifacts/rootfs/ -type f -printf "%s\t%p\n" | sort -n
|
||||||
- cd /artifacts/rootfs/ ; find -H | cpio -H newc -v -o | gzip -c - > $CI_PROJECT_DIR/results/panfrost-rootfs-${DEBIAN_ARCH}.cpio.gz
|
- cd /artifacts/rootfs/ ; find -H | cpio -H newc -v -o | gzip -c - > $CI_PROJECT_DIR/results/panfrost-rootfs-${DEBIAN_ARCH}.cpio.gz
|
||||||
|
@ -123,13 +124,13 @@ container:arm64:
|
||||||
paths:
|
paths:
|
||||||
- results/
|
- results/
|
||||||
|
|
||||||
build:armhf:
|
#build:armhf:
|
||||||
extends: .build
|
# extends: .build
|
||||||
variables:
|
# variables:
|
||||||
DEBIAN_ARCH: "armhf"
|
# DEBIAN_ARCH: "armhf"
|
||||||
GCC_ARCH: "arm-linux-gnueabihf"
|
# GCC_ARCH: "arm-linux-gnueabihf"
|
||||||
DEVICE_TYPE: "rk3288-veyron-jaq"
|
# DEVICE_TYPE: "rk3288-veyron-jaq"
|
||||||
KERNEL_IMAGE_NAME: "zImage"
|
# KERNEL_IMAGE_NAME: "zImage"
|
||||||
|
|
||||||
build:arm64:
|
build:arm64:
|
||||||
extends: .build
|
extends: .build
|
||||||
|
@ -155,107 +156,22 @@ build:arm64:
|
||||||
username: jenkins-fdo
|
username: jenkins-fdo
|
||||||
token: $LAVA_TOKEN
|
token: $LAVA_TOKEN
|
||||||
" > ~/.config/lavacli.yaml
|
" > ~/.config/lavacli.yaml
|
||||||
- lava_job_id=`lavacli jobs submit $CI_PROJECT_DIR/results/lava-deqp.yml` || echo $lava_job_id
|
- lava_job_id=`lavacli jobs submit $CI_PROJECT_DIR/results/lava-deqp.yml`
|
||||||
|
- echo $lava_job_id
|
||||||
- lavacli jobs logs $lava_job_id | grep -a -v "{'case':" | tee results/lava-deqp-$lava_job_id.log
|
- lavacli jobs logs $lava_job_id | grep -a -v "{'case':" | tee results/lava-deqp-$lava_job_id.log
|
||||||
- lavacli jobs show $lava_job_id
|
- lavacli jobs show $lava_job_id
|
||||||
- curl "https://lava.collabora.co.uk/results/$lava_job_id/csv?user=jenkins-fdo&token=$LAVA_TOKEN" > raw_results.csv
|
- result=`lavacli results $lava_job_id 0_deqp deqp | head -1`
|
||||||
- cat raw_results.csv | csvcut -c 12,3 | grep dEQP-GLES2 | sort > results/results-$lava_job_id.csv
|
- echo $result
|
||||||
|
- '[[ "$result" == "pass" ]]'
|
||||||
# FIXME: Remove flip-flops from comparison files
|
|
||||||
- |
|
|
||||||
FLIP_FLOPS="
|
|
||||||
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
|
|
||||||
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_pos_y_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
|
|
||||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1
|
|
||||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1_depth_component16
|
|
||||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4
|
|
||||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4_depth_component16
|
|
||||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1
|
|
||||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1_depth_component16
|
|
||||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4
|
|
||||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4_depth_component16
|
|
||||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1
|
|
||||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_depth_component16
|
|
||||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_stencil_index8
|
|
||||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_depth_component16
|
|
||||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_stencil_index8
|
|
||||||
dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.
|
|
||||||
dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.
|
|
||||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgb5_a1
|
|
||||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgba4
|
|
||||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgb
|
|
||||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgba
|
|
||||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1
|
|
||||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4
|
|
||||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
|
|
||||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16
|
|
||||||
dEQP-GLES2.functional.fbo.render.stencil_clear.rbo_rgb5_a1_stencil_index8
|
|
||||||
dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgb5_a1_stencil_index8
|
|
||||||
dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgba4_stencil_index8
|
|
||||||
dEQP-GLES2.functional.fbo.render.stencil.rbo_rgb5_a1_stencil_index8
|
|
||||||
dEQP-GLES2.functional.fbo.render.stencil.rbo_rgba4_stencil_index8
|
|
||||||
dEQP-GLES2.functional.lifetime.attach.deleted_input.renderbuffer_framebuffer
|
|
||||||
dEQP-GLES2.functional.lifetime.attach.deleted_output.renderbuffer_framebuffer
|
|
||||||
dEQP-GLES2.functional.polygon_offset.fixed16_factor_0_slope
|
|
||||||
dEQP-GLES2.functional.polygon_offset.fixed16_factor_1_slope
|
|
||||||
dEQP-GLES2.functional.shaders.invariance.highp.loop_4
|
|
||||||
dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_mat4_vec4_vertex
|
|
||||||
dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_vec4_mat4_fragment
|
|
||||||
dEQP-GLES2.functional.shaders.operator.common_functions.smoothstep.mediump_vec3_vertex
|
|
||||||
dEQP-GLES2.functional.shaders.random.all_features.fragment.12
|
|
||||||
dEQP-GLES2.functional.shaders.random.all_features.fragment.37
|
|
||||||
dEQP-GLES2.functional.texture.units.2_units.mixed.1
|
|
||||||
dEQP-GLES2.functional.texture.units.2_units.mixed.3
|
|
||||||
dEQP-GLES2.functional.texture.units.2_units.only_2d.2
|
|
||||||
dEQP-GLES2.functional.texture.units.4_units.mixed.5
|
|
||||||
dEQP-GLES2.functional.texture.units.4_units.only_2d.0
|
|
||||||
dEQP-GLES2.functional.texture.units.8_units.only_cube.2
|
|
||||||
dEQP-GLES2.functional.texture.units.all_units.mixed.6
|
|
||||||
dEQP-GLES2.functional.texture.units.all_units.only_cube.4
|
|
||||||
dEQP-GLES2.functional.texture.units.all_units.only_cube.7
|
|
||||||
dEQP-GLES2.functional.texture.units.all_units.only_cube.8
|
|
||||||
"
|
|
||||||
|
|
||||||
# FIXME: These tests fail in RK3288 but pass on RK3399
|
|
||||||
- |
|
|
||||||
FLIP_FLOPS="$FLIP_FLOPS
|
|
||||||
dEQP-GLES2.functional.fragment_ops.blend.*
|
|
||||||
dEQP-GLES2.functional.shaders.builtin_variable.max_draw_buffers_vertex
|
|
||||||
dEQP-GLES2.functional.shaders.matrix.div.const_lowp_mat2_mat2_vertex
|
|
||||||
dEQP-GLES2.functional.shaders.operator.unary_operator.pre_increment_effect.highp_ivec4_vertex
|
|
||||||
dEQP-GLES2.functional.shaders.texture_functions.vertex.texture2dprojlod_vec3
|
|
||||||
dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_stts_fragment
|
|
||||||
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_nearest_linear_repeat_rgba8888
|
|
||||||
dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_stts_fragment
|
|
||||||
dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.only_continue_vertex
|
|
||||||
dEQP-GLES2.functional.fbo.render.resize.tex2d_rgb_depth_component16
|
|
||||||
dEQP-GLES2.functional.fbo.render.resize.tex2d_rgba_depth_component16
|
|
||||||
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_nearest_nearest_clamp_rgba8888
|
|
||||||
"
|
|
||||||
|
|
||||||
- for test in $FLIP_FLOPS; do sed -i "/$test/d" results/expected-failures.txt results/results-$lava_job_id.csv; done
|
|
||||||
|
|
||||||
- PASSED=$(grep pass$ results/results-$lava_job_id.csv | wc -l)
|
|
||||||
- FAILED=$(grep fail$ results/results-$lava_job_id.csv | wc -l)
|
|
||||||
- TOTAL=$(wc -l < results/results-$lava_job_id.csv)
|
|
||||||
- 'echo "Passed: $PASSED ($(expr $PASSED \* 100 / $TOTAL)%)"'
|
|
||||||
- 'echo "Failed: $FAILED ($(expr $FAILED \* 100 / $TOTAL)%)"'
|
|
||||||
- 'echo "Total: $TOTAL"'
|
|
||||||
- 'if [ $TOTAL != 16374 ]; then echo "WARNING: Unexpected count of results. Incomplete run?"; fi'
|
|
||||||
|
|
||||||
- sed '/,pass/d' results/results-$lava_job_id.csv | sed 's/,fail//' > results/failures-$lava_job_id.txt
|
|
||||||
|
|
||||||
# Don't error out on RK3288
|
|
||||||
- diff -u results/expected-failures.txt results/failures-$lava_job_id.txt || [ -f results/rk3288-veyron-jaq.dtb ]
|
|
||||||
artifacts:
|
artifacts:
|
||||||
when: always
|
when: always
|
||||||
paths:
|
paths:
|
||||||
- results/
|
- results/
|
||||||
|
|
||||||
test:armhf:
|
#test:armhf:
|
||||||
extends: .test
|
# extends: .test
|
||||||
dependencies:
|
# dependencies:
|
||||||
- build:armhf
|
# - build:armhf
|
||||||
|
|
||||||
test:arm64:
|
test:arm64:
|
||||||
extends: .test
|
extends: .test
|
||||||
|
|
|
@ -50,21 +50,11 @@ actions:
|
||||||
- mount -t devtmpfs none /dev
|
- mount -t devtmpfs none /dev
|
||||||
- mkdir -p /dev/pts
|
- mkdir -p /dev/pts
|
||||||
- mount -t devpts devpts /dev/pts
|
- mount -t devpts devpts /dev/pts
|
||||||
- echo 1 > /proc/sys/kernel/printk
|
- echo 3 > /proc/sys/kernel/printk
|
||||||
# - echo performance > /sys/devices/platform/ff9a0000.gpu/devfreq/devfreq0/governor
|
- echo performance > /sys/devices/platform/ff9a0000.gpu/devfreq/devfreq0/governor
|
||||||
- sh /deqp/deqp-runner.sh
|
- sh /deqp/deqp-runner.sh
|
||||||
parse:
|
parse:
|
||||||
pattern: 'Test case ''(?P<test_case_id>\S*)''..\s+(?P<result>(Pass|NotSupported|QualityWarning|CompatibilityWarning|Fail|ResourceError|Crash|Timeout|InternalError))'
|
pattern: '(?P<test_case_id>\S*):\s+(?P<result>(pass|fail))'
|
||||||
fixupdict:
|
|
||||||
Pass: pass
|
|
||||||
NotSupported: pass
|
|
||||||
QualityWarning: pass
|
|
||||||
CompatibilityWarning: pass
|
|
||||||
Fail: fail
|
|
||||||
ResourceError: fail
|
|
||||||
Crash: fail
|
|
||||||
Timeout: fail
|
|
||||||
InternalError: fail
|
|
||||||
from: inline
|
from: inline
|
||||||
name: deqp
|
name: deqp
|
||||||
path: inline/lava-deqp.yaml
|
path: inline/lava-deqp.yaml
|
||||||
|
|
Loading…
Reference in New Issue