ci/freedreno: Add a fractional gles31 run with asan enabled.

We have to disable the GLSL unit tests because with asan it runs way too
much code under qemu and times out.  Those unit tests have coverage on
x86, anyway.

I also included a vulkan run, which is disabled by default due to timeouts
that I need to sort out still.  It should be a useful tool for turnip
devs, though.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9070>
This commit is contained in:
Eric Anholt 2020-12-15 15:47:51 -08:00 committed by Marge Bot
parent d1b63211c4
commit 9500341847
7 changed files with 56 additions and 5 deletions

View File

@ -414,7 +414,7 @@ arm_build:
- .fdo.container-build@debian@arm64v8
- .container
variables:
MESA_IMAGE_TAG: &arm_build "2021-02-08-container-reorg"
MESA_IMAGE_TAG: &arm_build "2021-02-15-asan"
.use-arm_build:
extends:
@ -448,7 +448,7 @@ arm64_test:
extends:
- .use-arm_test-base
variables:
MESA_IMAGE_TAG: &arm64_test "2021-02-17-gfxreconstruct-master"
MESA_IMAGE_TAG: &arm64_test "2021-02-17-asan"
.use-arm64_test:
extends:
@ -465,7 +465,7 @@ armhf_test:
extends:
- .use-arm_test-base
variables:
MESA_IMAGE_TAG: &armhf_test "2021-02-17-gfxreconstruct-master"
MESA_IMAGE_TAG: &armhf_test "2021-02-17-asan"
.use-armhf_test:
extends:
@ -837,6 +837,17 @@ meson-arm64:
- .gitlab-ci/meson-build.sh
- .gitlab-ci/prepare-artifacts.sh
meson-arm64-asan:
extends:
- meson-arm64
variables:
EXTRA_OPTION: >
-D llvm=disabled
-D b_sanitize=address
ARTIFACTS_DEBUG_SYMBOLS: 1
MINIO_ARTIFACT_NAME: mesa-arm64-asan
MESON_TEST_ARGS: "--no-suite mesa:compiler"
meson-arm64-build-test:
extends:
- .meson-arm
@ -1502,6 +1513,16 @@ arm64_a630_gles_others:
variables:
BARE_METAL_TEST_SCRIPT: "/install/bare-metal/arm64_a630_gles_others.sh"
arm64_a630_gles_asan:
extends:
- .baremetal-deqp-test
- .arm64-a630-test
- .baremetal-arm64-asan-test
variables:
DEQP_VER: gles31
DEQP_FRACTION: 10
GPU_VERSION: freedreno-a630-asan
arm64_a630_vk:
extends:
- .baremetal-deqp-test-freedreno-vk
@ -1515,6 +1536,23 @@ arm64_a630_vk:
# dEQP-VK.binding_model.*.geometry and dEQP-VK.glsl.*_vertex.
TU_DEBUG: forcebin
# Disabled by default until we can sort out what looks like timeouts before
# getting to the first test (or is it at cleanup after tests completed?).
# Clicking play can show you some useful areas for fixing turnip, though.
arm64_a630_vk_asan:
extends:
- .baremetal-deqp-test-freedreno-vk
- .arm64-a630-test
- .baremetal-arm64-asan-test
- .test-manual
variables:
DEQP_FRACTION: 100
DEQP_PARALLEL: 4 # We get OOMkills if we go too wide with asan enabled
TU_DEBUG: forcebin
# Disable the leak checks, since the library gets dlclose()d and thus get
# totally useless leak reports. We can still catch buffer overflows.
ASAN_OPTIONS: "detect_leaks=0"
# Do a separate sysmem pass over the testcases that really affect sysmem
# rendering. This is currently very flaky, leave it as an option for devs
# to click play on in their branches.
@ -1632,6 +1670,15 @@ arm64_a630_piglit_shader:
variables:
MINIO_ARTIFACT_NAME: mesa-armhf
.baremetal-arm64-asan-test:
variables:
TEST_LD_PRELOAD: libasan.so.5
MINIO_ARTIFACT_NAME: mesa-arm64-asan
needs:
- arm64_test
- job: meson-arm64-asan
artifacts: false
.freedreno-test:
extends:
- .baremetal-test

View File

@ -71,6 +71,7 @@ for var in \
PIGLIT_REPLAY_REFERENCE_IMAGES_BASE_URL \
PIGLIT_REPLAY_UPLOAD_TO_MINIO \
PIGLIT_RESULTS \
TEST_LD_PRELOAD \
TU_DEBUG \
VK_CPU \
VK_DRIVER \

View File

@ -23,6 +23,7 @@ apt-get -y install \
git \
kmod \
lavacli \
libasan5 \
libdrm-dev \
libelf-dev \
libexpat1-dev \

View File

@ -56,6 +56,7 @@ apt-get -y install --no-install-recommends \
ca-certificates \
curl \
initramfs-tools \
libasan5 \
libexpat1 \
libpng16-16 \
libsensors5 \

View File

@ -1,5 +1,5 @@
variables:
MESA_LAVA_TAG: "2020-02-17-gfxreconstruct-master"
MESA_LAVA_TAG: "2021-02-17-asan"
.kernel+rootfs:
stage: container-2

View File

@ -59,6 +59,6 @@ meson _build --native-file=native.file \
cd _build
meson configure
ninja
LC_ALL=C.UTF-8 meson test --num-processes ${FDO_CI_CONCURRENT:-4} --wrapper=$PWD/../.gitlab-ci/meson/test-wrapper.sh
LC_ALL=C.UTF-8 meson test --num-processes ${FDO_CI_CONCURRENT:-4} ${MESON_TEST_ARGS} --wrapper=$PWD/../.gitlab-ci/meson/test-wrapper.sh
ninja install
cd ..

View File

@ -0,0 +1 @@
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.12,Crash