ci/zink: Add coverage using the vulkan validation layer on lvp.

Let's make sure we aren't introducing new validation failures as
development proceeds.  Basically, we record the current set of known
validation failures from the CTS, and for any validation failure we have
the layer log it and abort.

I had started encoding xfails from piglit, but it turns out that piglit
and the validation layer fight about the teardown process, producing
use-after-frees.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20756>
This commit is contained in:
Emma Anholt
2023-01-12 14:28:26 -08:00
committed by Marge Bot
parent 4286633eec
commit 512f1c160a
6 changed files with 256 additions and 1 deletions

View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
set -ex
VALIDATION_TAG="v1.3.238"
git clone -b "$VALIDATION_TAG" --single-branch --depth 1 https://github.com/KhronosGroup/Vulkan-ValidationLayers.git
pushd Vulkan-ValidationLayers
mkdir build
pushd build
python3 ../scripts/update_deps.py --dir ../external --arch x64 --config debug
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TESTS=OFF -DBUILD_WERROR=OFF -C ../external/helper.cmake ..
ninja install
popd
rm -rf Vulkan-ValidationLayers