diff options
author | Eric Anholt <[email protected]> | 2019-04-10 15:59:12 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2019-07-25 08:56:55 -0700 |
commit | f60defa72d5d20d99e3ad1d1ab3aeb8bc71833bf (patch) | |
tree | 37e3752cb9380509e6f6faee6fe5537e053c14cd /.gitlab-ci | |
parent | dd3d0b2897b8e7874a6b1958e1c097150c5b2996 (diff) |
gitlab-ci: Add a shader-db run using v3d on drm-shim.
This provides significant compiler coverage during CI at a fairly low
cost in CPU time (~17s per thread for 4 threads on
gst-gitlab-htz-runner3).
I'm leaving wget in the docker image, as once this is in master I'm
planning on having an automatic shader-db comparison between master
and the branch included in the artifacts. I also haven't done
freedreno yet, because it has some races when run in multithreaded
mode that I'm still tracking down.
Reviewed-by: Eric Engestrom <[email protected]>
Diffstat (limited to '.gitlab-ci')
-rw-r--r-- | .gitlab-ci/debian-install.sh | 13 | ||||
-rwxr-xr-x | .gitlab-ci/meson-build.sh | 5 | ||||
-rwxr-xr-x | .gitlab-ci/run-shader-db.sh | 15 |
3 files changed, 32 insertions, 1 deletions
diff --git a/.gitlab-ci/debian-install.sh b/.gitlab-ci/debian-install.sh index 64f970fa81f..578074ddb87 100644 --- a/.gitlab-ci/debian-install.sh +++ b/.gitlab-ci/debian-install.sh @@ -57,6 +57,10 @@ apt-get install -y \ libxdamage-dev \ libxxf86vm-dev \ gcc \ + git \ + libepoxy-dev \ + libegl1-mesa-dev \ + libgbm-dev \ libclc-dev \ libxvmc-dev \ libomxil-bellagio-dev \ @@ -196,6 +200,13 @@ tar -xvf $WAYLAND_PROTOCOLS_VERSION.tar.xz && rm $WAYLAND_PROTOCOLS_VERSION.tar. cd $WAYLAND_PROTOCOLS_VERSION; ./configure; make install; cd .. rm -rf $WAYLAND_PROTOCOLS_VERSION +pushd /usr/local +git clone https://gitlab.freedesktop.org/mesa/shader-db.git --depth 1 +rm -rf shader-db/.git +cd shader-db +make +popd + # Use ccache to speed up builds apt-get install -y ccache @@ -205,10 +216,10 @@ apt-get install -y libxml2-utils # Remove unused packages apt-get purge -y \ automake \ + git \ libtool \ curl \ unzip \ - wget \ gnupg \ software-properties-common apt-get autoremove -y --purge diff --git a/.gitlab-ci/meson-build.sh b/.gitlab-ci/meson-build.sh index 04b0189e254..c7fef6fc315 100755 --- a/.gitlab-ci/meson-build.sh +++ b/.gitlab-ci/meson-build.sh @@ -33,3 +33,8 @@ meson configure ninja -j4 LC_ALL=C.UTF-8 ninja test DESTDIR=$PWD/../install ninja install +cd .. + +if test -n "$MESON_SHADERDB"; then + ./.gitlab-ci/run-shader-db.sh; +fi diff --git a/.gitlab-ci/run-shader-db.sh b/.gitlab-ci/run-shader-db.sh new file mode 100755 index 00000000000..70a434c51c6 --- /dev/null +++ b/.gitlab-ci/run-shader-db.sh @@ -0,0 +1,15 @@ +set -e +set -v + +ARTIFACTSDIR=`pwd`/shader-db +mkdir -p $ARTIFACTSDIR +export DRM_SHIM_DEBUG=true + +LIBDIR=`pwd`/install/usr/local/lib +export LIBGL_DRIVERS_PATH=$LIBDIR/dri + +cd /usr/local/shader-db + +env LD_PRELOAD=$LIBDIR/libv3d_noop_drm_shim.so \ + ./run -j 4 ./shaders \ + > $ARTIFACTSDIR/v3d-shader-db.txt |