mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-11-27 04:04:23 +08:00
gitlab-ci: Run piglit tests with llvmpipe
One job for the quick_gl profile, one for the glslparser & quick_shader profiles (doing these together takes hardly any more time than quick_shader alone). v2: * Don't break lava tests v3: * Remove piglit test artifacts paths: * Exclude some quick_shader tests again: - Test whose result flips between pass/fail/skip - *@vs_in tests, as not the same one of these gets picked every time v4: * Do not list passing tests in .gitlab-ci/piglit/*.txt (Eric Anholt) * Include the test number summary in .gitlab-ci/piglit/*.txt * Completely disable generating any vs_in tests in the piglit build. * Remove some more unneded files from the piglit build tree. * Exclude quick_gl arb_gpu_shader5 tests; they were all skipped anyway, as llvmpipe doesn't support this extension yet, but occasionally they would spuriously fail instead. v5: * Set LD_LIBRARY_PATH, so we actually test the Mesa build from the pipeline... * Verify that wflinfo reports the expected Mesa version * Pass -noreset to Xvfb v6: * Don't use autoscale runners, run piglit with -j4 (Eric Anholt) Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
4b25b5885b
commit
576f7b6ea5
@ -445,23 +445,17 @@ scons-old-llvm:
|
||||
- LLVM_VERSION=5.0 .gitlab-ci/scons-build.sh
|
||||
|
||||
.test:
|
||||
extends: .ci-run-policy
|
||||
extends:
|
||||
- .ci-run-policy
|
||||
- .use-debian-10:amd64
|
||||
stage: test
|
||||
variables:
|
||||
GIT_STRATEGY: none # testing doesn't build anything from source
|
||||
|
||||
.deqp-test:
|
||||
extends:
|
||||
- .test
|
||||
- .use-debian-10:amd64
|
||||
variables:
|
||||
DEQP_SKIPS: deqp-default-skips.txt
|
||||
script:
|
||||
before_script:
|
||||
# Note: Build dir (and thus install) may be dirty due to GIT_STRATEGY
|
||||
- rm -rf install
|
||||
- tar -xf artifacts/install.tar
|
||||
- LD_LIBRARY_PATH=install/lib ldd install/lib/{*,dri/swrast_dri}.so
|
||||
- ./artifacts/deqp-runner.sh
|
||||
artifacts:
|
||||
when: on_failure
|
||||
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
|
||||
@ -473,6 +467,50 @@ scons-old-llvm:
|
||||
- meson-main
|
||||
- debian-10:amd64
|
||||
|
||||
.piglit-test:
|
||||
extends: .test
|
||||
artifacts:
|
||||
reports:
|
||||
junit: results/results.xml
|
||||
variables:
|
||||
LIBGL_ALWAYS_SOFTWARE: 1
|
||||
PIGLIT_NO_WINDOW: 1
|
||||
script:
|
||||
- artifacts/piglit/run.sh
|
||||
|
||||
piglit-quick_gl:
|
||||
extends: .piglit-test
|
||||
variables:
|
||||
LP_NUM_THREADS: 0
|
||||
PIGLIT_OPTIONS: >
|
||||
-x arb_gpu_shader5
|
||||
-x glx-multithread-clearbuffer
|
||||
-x glx-multithread-shader-compile
|
||||
-x max-texture-size
|
||||
-x maxsize
|
||||
PIGLIT_PROFILES: quick_gl
|
||||
|
||||
piglit-glslparser+quick_shader:
|
||||
extends: .piglit-test
|
||||
variables:
|
||||
LP_NUM_THREADS: 1
|
||||
PIGLIT_OPTIONS: >
|
||||
-x spec@arb_arrays_of_arrays@execution@ubo
|
||||
-x spec@arb_gpu_shader_int64@execution$$
|
||||
-x spec@arb_separate_shader_objects@execution
|
||||
-x spec@arb_separate_shader_objects@linker
|
||||
-x spec@arb_shader_storage_buffer_object@execution
|
||||
-x spec@glsl-1.50@execution@built-in-functions
|
||||
PIGLIT_PROFILES: "glslparser quick_shader"
|
||||
PIGLIT_RESULTS: "glslparser+quick_shader"
|
||||
|
||||
.deqp-test:
|
||||
extends: .test
|
||||
variables:
|
||||
DEQP_SKIPS: deqp-default-skips.txt
|
||||
script:
|
||||
- ./artifacts/deqp-runner.sh
|
||||
|
||||
test-llvmpipe-gles2:
|
||||
parallel: 4
|
||||
variables:
|
||||
|
@ -58,6 +58,7 @@ apt-get install -y --no-remove \
|
||||
libtool \
|
||||
libunwind-dev \
|
||||
libvulkan-dev \
|
||||
libwaffle-dev \
|
||||
libx11-dev \
|
||||
libx11-xcb-dev \
|
||||
libxdamage-dev \
|
||||
@ -72,8 +73,13 @@ apt-get install -y --no-remove \
|
||||
pkg-config \
|
||||
python-mako \
|
||||
python3-mako \
|
||||
python3-numpy \
|
||||
python3-six \
|
||||
scons \
|
||||
waffle-utils \
|
||||
x11proto-gl-dev \
|
||||
xauth \
|
||||
xvfb \
|
||||
xz-utils \
|
||||
zlib1g-dev
|
||||
|
||||
@ -240,6 +246,15 @@ for arch in $CROSS_ARCHITECTURES; do
|
||||
fi
|
||||
done
|
||||
|
||||
############### Build piglit
|
||||
|
||||
git clone https://gitlab.freedesktop.org/mesa/piglit.git --single-branch --no-checkout /piglit
|
||||
cd /piglit
|
||||
git checkout 7a92b02210dabbba31ae5fd71272ea742346a9c8
|
||||
patch -p1 <$OLDPWD/.gitlab-ci/piglit/disable-vs_in.diff
|
||||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release
|
||||
ninja -j4
|
||||
rm -rf .git .ninja* *.ninja **/CMake* **/cmake* ninja.* **/*.[chao] target_api
|
||||
|
||||
############### Build dEQP
|
||||
|
||||
@ -257,6 +272,7 @@ apt-get purge -y \
|
||||
libgbm-dev \
|
||||
libgles2-mesa-dev \
|
||||
libtool \
|
||||
libwaffle-dev \
|
||||
unzip \
|
||||
wget \
|
||||
x11proto-gl-dev
|
||||
|
@ -139,8 +139,10 @@ lava-build:arm64:
|
||||
|
||||
.lava-test:
|
||||
extends:
|
||||
- .test
|
||||
- .lava-ci-run-policy
|
||||
stage: test
|
||||
variables:
|
||||
GIT_STRATEGY: none # testing doesn't build anything from source
|
||||
script:
|
||||
- lava_job_id=`lavacli jobs submit $CI_PROJECT_DIR/results/lava-deqp-$DEVICE_TYPE.yml`
|
||||
- echo $lava_job_id
|
||||
|
36
.gitlab-ci/piglit/disable-vs_in.diff
Normal file
36
.gitlab-ci/piglit/disable-vs_in.diff
Normal file
@ -0,0 +1,36 @@
|
||||
diff --git a/generated_tests/CMakeLists.txt b/generated_tests/CMakeLists.txt
|
||||
index 738526546..6f89048cd 100644
|
||||
--- a/generated_tests/CMakeLists.txt
|
||||
+++ b/generated_tests/CMakeLists.txt
|
||||
@@ -206,11 +206,6 @@ piglit_make_generated_tests(
|
||||
templates/gen_variable_index_write_tests/vs.shader_test.mako
|
||||
templates/gen_variable_index_write_tests/fs.shader_test.mako
|
||||
templates/gen_variable_index_write_tests/helpers.mako)
|
||||
-piglit_make_generated_tests(
|
||||
- vs_in_fp64.list
|
||||
- gen_vs_in_fp64.py
|
||||
- templates/gen_vs_in_fp64/columns.shader_test.mako
|
||||
- templates/gen_vs_in_fp64/regular.shader_test.mako)
|
||||
piglit_make_generated_tests(
|
||||
shader_framebuffer_fetch_tests.list
|
||||
gen_shader_framebuffer_fetch_tests.py)
|
||||
@@ -279,7 +274,6 @@ add_custom_target(gen-gl-tests
|
||||
gen_extensions_defined.list
|
||||
vp-tex.list
|
||||
variable_index_write_tests.list
|
||||
- vs_in_fp64.list
|
||||
gpu_shader4_tests.list
|
||||
)
|
||||
|
||||
diff --git a/tests/sanity.py b/tests/sanity.py
|
||||
index 12f1614c9..9019087e2 100644
|
||||
--- a/tests/sanity.py
|
||||
+++ b/tests/sanity.py
|
||||
@@ -100,7 +100,6 @@ shader_tests = (
|
||||
'spec/arb_tessellation_shader/execution/barrier-patch.shader_test',
|
||||
'spec/arb_tessellation_shader/execution/built-in-functions/tcs-any-bvec4-using-if.shader_test',
|
||||
'spec/arb_tessellation_shader/execution/sanity.shader_test',
|
||||
- 'spec/arb_vertex_attrib_64bit/execution/vs_in/vs-input-uint_uvec4-double_dmat3x4_array2-position.shader_test',
|
||||
'spec/glsl-1.50/execution/geometry-basic.shader_test',
|
||||
'spec/oes_viewport_array/viewport-gs-write-simple.shader_test',
|
||||
)
|
5347
.gitlab-ci/piglit/glslparser+quick_shader.txt
Normal file
5347
.gitlab-ci/piglit/glslparser+quick_shader.txt
Normal file
File diff suppressed because it is too large
Load Diff
1788
.gitlab-ci/piglit/quick_gl.txt
Normal file
1788
.gitlab-ci/piglit/quick_gl.txt
Normal file
File diff suppressed because it is too large
Load Diff
27
.gitlab-ci/piglit/run.sh
Executable file
27
.gitlab-ci/piglit/run.sh
Executable file
@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o xtrace
|
||||
|
||||
VERSION=`cat artifacts/VERSION`
|
||||
|
||||
cd /piglit
|
||||
|
||||
PIGLIT_OPTIONS=$(echo $PIGLIT_OPTIONS | head -n 1)
|
||||
xvfb-run --server-args="-noreset" sh -c \
|
||||
"export LD_LIBRARY_PATH=$OLDPWD/install/lib;
|
||||
wflinfo --platform glx --api gl --profile core | grep \"Mesa $VERSION\\\$\" &&
|
||||
./piglit run -j4 --backend junit --process-isolation false $PIGLIT_OPTIONS $PIGLIT_PROFILES $OLDPWD/results"
|
||||
|
||||
PIGLIT_RESULTS=${PIGLIT_RESULTS:-$PIGLIT_PROFILES}
|
||||
mkdir -p .gitlab-ci/piglit
|
||||
cp $OLDPWD/artifacts/piglit/$PIGLIT_RESULTS.txt .gitlab-ci/piglit/$PIGLIT_RESULTS.txt.baseline
|
||||
./piglit summary console $OLDPWD/results | head -n -1 | grep -v ": pass" >.gitlab-ci/piglit/$PIGLIT_RESULTS.txt
|
||||
|
||||
if diff -q .gitlab-ci/piglit/$PIGLIT_RESULTS.txt{.baseline,}; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo Unexpected change in results:
|
||||
diff -u .gitlab-ci/piglit/$PIGLIT_RESULTS.txt{.baseline,}
|
||||
exit 1
|
@ -21,7 +21,9 @@ find install -name \*.so -exec $STRIP {} \;
|
||||
# Test runs don't pull down the git tree, so put the dEQP helper
|
||||
# script and associated bits there.
|
||||
mkdir -p artifacts/
|
||||
cp VERSION artifacts/
|
||||
cp -Rp .gitlab-ci/deqp* artifacts/
|
||||
cp -Rp .gitlab-ci/piglit artifacts/
|
||||
# cp -Rp src/freedreno/ci/expected* artifacts/
|
||||
|
||||
# Tar up the install dir so that symlinks and hardlinks aren't each
|
||||
|
Loading…
Reference in New Issue
Block a user