aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-04-10 15:59:12 -0700
committerEric Anholt <[email protected]>2019-07-25 08:56:55 -0700
commitf60defa72d5d20d99e3ad1d1ab3aeb8bc71833bf (patch)
tree37e3752cb9380509e6f6faee6fe5537e053c14cd /.gitlab-ci
parentdd3d0b2897b8e7874a6b1958e1c097150c5b2996 (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.sh13
-rwxr-xr-x.gitlab-ci/meson-build.sh5
-rwxr-xr-x.gitlab-ci/run-shader-db.sh15
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