summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci
Commit message (Collapse)AuthorAgeFilesLines
* gitlab-ci/lava: Test Lima driver with dEQPTomeu Vizoso2019-10-108-34/+1107
| | | | | | | | | | | | Run dEQP on boards with Mali 400 and 450 in Baylibre's lab. There's lots of skipped tests because of crashes and undetermined behavior. May be a good idea to run the tests with valgrind and fix any issues found. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Vasily Khoruzhick <[email protected]> Reviewed-by: Neil Armstrong <[email protected]>
* gitlab-ci/lava: Use files to list tests to skipTomeu Vizoso2019-10-104-67/+134
| | | | | | | | | As the non-LAVA runner script does, have per-GPU version files listing the tests that are to be skipped, due to being very slow, unstable, etc. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Vasily Khoruzhick <[email protected]> Reviewed-by: Neil Armstrong <[email protected]>
* gitlab-ci/lava: Add needs: for container image to test jobsMichel Dänzer2019-10-091-2/+6
| | | | | | | Without this, the test jobs could spuriously run after the container job failed or was cancelled, even if the build job didn't run at all. Reviewed-by: Tomeu Vizoso <[email protected]>
* panfrost: Draw the wallpaper when only depth/stencil bufs are clearedBoris Brezillon2019-10-082-2/+0
| | | | | | | | | When only the depth/stencil bufs are cleared, we should make sure the color content is reloaded into the tile buffers if we want to preserve their content. Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Make sure a clear does not re-use a pre-existing batchBoris Brezillon2019-10-082-270/+0
| | | | | | | | | | | | | | glClear()s are expected to be the first thing GL apps do before drawing new things. If there's already an existing batch targetting the same FBO that has draws attached to it, we should make sure the new clear gets a new batch assigned to guaranteed that the FB content is actually cleared with the requested color/depth/stencil values. We create a panfrost_get_fresh_batch_for_fbo() helper for that and call it from panfrost_clear(). Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* gitlab-ci/lava: Fix image to use in test jobsTomeu Vizoso2019-10-071-1/+2
| | | | | | | | | | | | | | | | | In the test stage, we can use any of the two container images as we arent going to do anything architecture-dependent when submitting the jobs to LAVA. But if we are in a pipeline in which the images need to be rebuilt and one finishes much earlier than the other, it could happen that the test job that executes first fails to find the container image. To avoid that, have each job in the test stage to use the image that has been already implicitly built by depending on the build job for the given arch. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* gitlab-ci: Move LAVA-related files into top-level ci dirTomeu Vizoso2019-10-0610-0/+2828
| | | | | | | In preparation for testing drivers other than Panfrost in LAVA labs. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Set ccache path for cross compilers in meson cross fileMichel Dänzer2019-10-011-0/+2
| | | | | | | Without this, meson didn't pick up ccache for cross builds. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* freedreno/a3xx: Mostly fix min-vs-mag filtering decisions on non-mipmap tex.Eric Anholt2019-09-261-68/+0
| | | | | | | | | This is based on the fix I used for the same problem on V3D. In this case, it fixes all but the the dEQP-GLES2.functional.texture.filtering.2d.*_npot cases of dEQP-GLES2.functional.texture.filtering.2d.*'s failures. Acked-by: Rob Clark <[email protected]>
* gitlab-ci: Move scons build/test commands to a separate shell scriptMichel Dänzer2019-09-181-0/+12
| | | | | | Preparatory, no functional change intended. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Use crossbuild-essential-* packagesMichel Dänzer2019-09-181-11/+2
| | | | | | | They are convenience packages which pull in everything needed for cross-building via dependencies. Acked-by: Eric Engestrom <[email protected]>
* gitlab-ci: Use newer packages from backports by defaultMichel Dänzer2019-09-182-0/+18
| | | | | | | This is needed in particular to get a recent enough version of meson in the stretch image, but should be generally beneficial. Acked-by: Eric Engestrom <[email protected]>
* gitlab-ci: Create separate docker images for Debian stretch & busterMichel Dänzer2019-09-182-26/+56
| | | | | | | | | | | | | | Pros: * Less fragile due to not mixing packages from stretch and buster * No longer need to use third-party LLVM packages * The buster image now uses GCC 8 for C++ as well (previously 6 for C++, 8 for C), allowing to drop some hacks Con: * The stretch image now only uses GCC 6 for C as well as C++ * Need separate jobs for testing old LLVM versions Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Pass --no-remove to apt-get where possibleMichel Dänzer2019-09-181-7/+7
| | | | | | | | If installing new packages would require removing previously installed ones, this flag causes apt-get to abort with an error instead, preventing later obscure failures due to the missing packages. Reviewed-by: Eric Engestrom <[email protected]>
* ci: Run tests on i386 cross buildsAdam Jackson2019-09-172-2/+26
| | | | | | | | | Yes, some tests fail, but we can turn those into XFAILs at meson time. Better to keep the things that work working than not cover them at all. Unfortunately XPASS results will not cause the build to fail until we update CI to meson 0.51 or newer. Reviewed-by: Daniel Stone <[email protected]>
* gitlab-ci/a630: skip dEQP-GLES3.functional.fbo.msaa.2_samples.stencil_index8Rob Clark2019-09-141-0/+6
| | | | | | | Seen a couple flakes on this one so far. Not sure if it is a real driver problem or not, but skip it to unblock things. Signed-off-by: Rob Clark <[email protected]>
* gitlab-ci: Make the test job fail when bugs are unexpectedly fixed.Eric Anholt2019-09-131-0/+11
| | | | | | | | | | | | | If people fix bugs without updating the expected-fails list, then we end up with a lack of coverage of those failures in the future. Also, some day down the line another developer ends up trying to figure out if the bug was actually fixed or their environment is just failing to reproduce it. Suggested-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Adam Jackson <[email protected]> Acked-by: Rob Clark <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* gitlab-ci/a630: Drop the MSAA expected failure.Eric Anholt2019-09-131-1/+0
| | | | | | | | | This hasn't failed for me in ~5 minutes of looping over dEQP-GLES3.functional.fbo.msaa.* Reviewed-by: Adam Jackson <[email protected]> Acked-by: Rob Clark <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* gitlab-ci/a630: Drop remaining dEQP-GLES3.functional.draw.random.* xfails.Eric Anholt2019-09-131-2/+0
| | | | | | | | | These haven't failed for me in ~10 minutes of looping over draw.random.*. Reviewed-by: Adam Jackson <[email protected]> Acked-by: Rob Clark <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* gitlab-ci/a630: Disable flappy layout_binding.ssbo.fragment_binding_arrayEric Anholt2019-09-121-0/+1
| | | | | It started showing up as unreliable post-merge. There's a valgrind complaint, but even fixing that doesn't make it stable.
* freedreno: Introduce gitlab-based CI.Eric Anholt2019-09-125-0/+348
| | | | | | | | | | | | | | | | | | | | | | | | Since freedreno's kernel and GPU reset seem to be totally solid, we don't need to have the complexity of the LAVA setup that panfrost has. Instead, we can register some boards as shared gitlab runners and have the jobs run out of a docker container just like we do for llvmpipe. Just make sure that the DRI device node is passed through to the containers in the gitlab config ('devices = ["/dev/dri"]' under runners.docker). If a runner fails (networking dies, kernel panic, etc.) it'll take out one build but the rest can keep going since gitlab-runner is what pulls jobs. Since the runner pulls jobs, it also means that they can live behind firewalls instead of needing some public address to be accessed by gitlab.fd.o. For now, enable it just on db410c (A307) and cheza (A630) as those are the hardware that I have plenty of. A307 is only testing GLES2 since running all of GLES3 takes too long for the number of boards I've brought up. Acked-by: Rob Clark <[email protected]> Acked-by: Kenneth Graunke <[email protected]>
* gitlab-ci: Log the driver version that got tested.Eric Anholt2019-09-121-0/+7
| | | | | | | | | Sometimes you just want confirmation that dEQP really picked up the driver we built you thought. This is not as good as one might like, because git isn't present in the cross-build image. Acked-by: Rob Clark <[email protected]> Acked-by: Kenneth Graunke <[email protected]>
* gitlab-ci: Disable dEQP's watchdog timer.Eric Anholt2019-09-121-1/+7
| | | | | | | | | A handful of tests on freedreno have been close to the watchdog timeout, and now sporadically fail since range analysis has slowed down the compiler for them. Acked-by: Rob Clark <[email protected]> Acked-by: Kenneth Graunke <[email protected]>
* gallium: Require LLVM >= 3.5Adam Jackson2019-09-111-2/+0
| | | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]> [ Michel Dänzer: Dropped jessie line from debian-install.sh again ]
* gitlab-ci: Keep g++ from stretch when installing foreign toolchainsMichel Dänzer2019-09-111-0/+1
| | | | | | | | Upgrading to a newer g++ causes older LLVM/clang packages to be removed. Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Adam Jackson <[email protected]>
* gitlab-ci: Explicitly install linux-libc-dev for foreign architecturesMichel Dänzer2019-09-111-0/+1
| | | | | | | | Something seems to have changed in Debian buster causing installation of the other foreign packages to fail without this. Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Adam Jackson <[email protected]>
* gitlab-ci: Enable the GLES2/3 CTS on softpipe.Eric Anholt2019-08-201-0/+445
| | | | | | | | | | | | | | The GLES2 CTS takes about 8 minutes of total runtime (at parallel 4 is ~2 minutes in the test stage if runners are free), while GLES3 takes about 25. Since the GLES3 run is pretty expensive, just do a cheap touch test of 1 out of every 10 tests in the test list on MRs, until we can get the runtime down. v2: Drop the full run for now until we can bring runtime down or bring up a dedicated mesa runner. Reviewed-by: Eric Engestrom <[email protected]> (v1) Reviewed-By: Gert Wollny <[email protected]> (v1)
* gitlab-ci: Run the GLES2 CTS on llvmpipe.Eric Anholt2019-08-134-0/+267
| | | | | | | | | | | | | | | | This is the start of doing CTS tests on merges to Mesa master. We use the surfaceless platform so that we don't need to bother bringing up weston or X11. The surface size is kept low to reduce runtime, but this comes at the cost of many rendering tests skipping due to too-small render targets (as we see the impact of Mesa on the shared runner pool, we can reevaluate this and what set of CTS tests we want to run). We split the job up across 4 runners (each at 4 llvmpipe threads), so that the job can load-balance across our shared runners and finish sooner (since dEQP is very single-thread-performance bound). Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Switch the meson-main build type to debugoptimized.Eric Anholt2019-08-131-1/+1
| | | | | | | | | | | Now that we're running the drivers we build, building with optimization is important for keeping our runtime down. Shaves about 4 minutes of runtime off of GLES2 CTS of llvmpipe at 64x64. v2: Only switch meson-main until we enable CTS for other builds on request by Michel. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Set the prefix to ./install instead of the DESTDIR.Eric Anholt2019-08-132-3/+4
| | | | | | | | | | If we don't set DESTDIR, then the DEFAULT_DRIVER_DIR built into the libraries is correct and we don't need to use LIBGL_DRIVERS_PATH and friends for CI usage. Incidentally, this moves our installed paths from /builds/anholt/mesa/install/usr/local/lib (for example) to /builds/anholt/mesa/install/lib for simplicity. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Build the CTS in the debian build image.Eric Anholt2019-08-131-2/+59
| | | | | | This will let us reuse the image for test runs. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: simplify $CROSS optionEric Engestrom2019-08-101-1/+1
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* gitlab-ci: generate meson cross-files earlierEric Engestrom2019-08-091-0/+12
| | | | | | Suggested-by: Michel Dänzer <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: don't install autotools depsEric Engestrom2019-08-071-10/+2
| | | | | | | These could've been deleted a long time ago, but apparent we forgot. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* gitlab-ci: add gtk3 dev files for `-D tools=intel-ui`Eric Engestrom2019-08-071-3/+4
| | | | | | | | We also need to update wayland-protocols and libXrandr (and randrproto), as they are too old for gdk3 (which gtk3 depends on). Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* gitlab-ci: don't remove a package we don't install anymoreEric Engestrom2019-08-051-2/+1
| | | | | | Fixes: 85dace1c0b7c1839d121 ("gitlab-ci: remove software-properties-common") Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* gitlab-ci: remove software-properties-commonEmil Velikov2019-08-011-6/+5
| | | | | | | | | | | Currently we use the python package to manage repositories. At the same time we also do that by hand - since it's a trivial echo to a file. Stay consistent, remove the package and manage things manually. Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* gitlab-ci: Enable freedreno shader-db runs.Eric Anholt2019-07-291-3/+5
| | | | | | | | Now that helgrind is less upset and I've completed many successful full shader-db runs, we should be able to enable freedreno shader-db runs for Mesa checkins on the tiny public shader-db. Reviewed-by: Rob Clark <[email protected]>
* gitlab-ci: Add a shader-db run using v3d on drm-shim.Eric Anholt2019-07-253-1/+32
| | | | | | | | | | | | | | 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]>
* gitlab-ci: Always set libdir to lib/Eric Anholt2019-07-251-0/+1
| | | | | | | | I introduced libdir for cross-builds so we could point at the resulting drivers without per-arch dependencies, but I'd rather not have to type x86_64-linux-whatever for non-cross-builds either. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Build i386 and ARM drivers in surfaceless mode.Eric Anholt2019-07-132-1/+22
| | | | | | | | | | | | | I don't particularly care about getting x86/ARM cross-build coverage of all the window systems, but we do want to be building src/mesa/ (for x86 asm) and gallium drivers (for vc4 NEON asm). I'm also hoping to use these build products for testing freedreno on actual HW (which we do using surfaceless). This increases the docker image from 1.4G to 1.5G. Reviewed-by: Michel Dänzer <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* gitlab-ci: bump required libdrm versionChristian Gmeiner2019-07-041-1/+1
| | | | | | | | | | | | Fixes following build problem: Message: libdrm 2.4.99 needed because amdgpu has the highest requirement Dependency libdrm_intel found: NO found '2.4.97' but need: '>=2.4.99' Dependency libdrm_intel found: NO meson.build:1178:4: ERROR: Invalid version of dependency, need 'libdrm_intel' ['>=2.4.99'] found '2.4.97'. Signed-off-by: Christian Gmeiner <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: test meson installationEric Engestrom2019-06-291-0/+1
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: add the vulkan overlay layer to the vulkan buildEric Engestrom2019-05-081-1/+2
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* gitlab-ci: add the vulkan overlay layer to the vulkan buildEric Engestrom2019-05-081-0/+9
| | | | | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> [ Michel Dänzer: Take changes affecting the docker image from !299, plus remove the unzip package again before generating the image ]
* gitlab-ci: Don't install WINE packagesMichel Dänzer2019-05-081-3/+1
| | | | | | | They were just making the docker image larger for no benefit at this point. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Build clover against all supported versions of LLVMMichel Dänzer2019-05-082-2/+10
| | | | | | | | | | | | | | | | And consolidate it all into a single job. It doesn't take much longer than a single version, thanks to ccache. Overall, this single job might be faster or at least use fewer CPU cycles than the two jobs before, while covering thrice as many versions of LLVM. v2: * Move "rm -rf _build" to meson-build.sh. * Set GALLIUM_DRIVERS the same way both times in the meson-clover job, for symmetry. Reviewed-by: Eric Engestrom <[email protected]> # v1
* gitlab-ci: Move meson job script to separate fileMichel Dänzer2019-05-081-0/+29
| | | | | | | | No functional change intended (except for no longer running meson --version separately, as the version appears early in meson's output anyway). Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: add scons windows build using mingwEric Engestrom2019-05-021-0/+5
| | | | Signed-off-by: Eric Engestrom <[email protected]>
* gitlab-ci: Use LLVM 3.4 from Debian jessie for scons-llvm jobMichel Dänzer2019-04-161-0/+2
| | | | | | | This gets us closer to the officially supported minimum version of LLVM, which is 3.3. Acked-by: Eric Engestrom <[email protected]>