pixman: Branch 'master' - 4 commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Sep 27 01:23:54 UTC 2024
.gitlab-ci.d/01-docker.yml | 1
.gitlab-ci.d/01-docker/Dockerfile | 20 +++++++++++++------
.gitlab-ci.d/01-docker/target-env/linux-386.env | 1
.gitlab-ci.d/01-docker/target-env/linux-amd64.env | 1
.gitlab-ci.d/01-docker/target-env/linux-arm-v5.env | 1
.gitlab-ci.d/01-docker/target-env/linux-arm-v7.env | 1
.gitlab-ci.d/01-docker/target-env/linux-arm64-v8.env | 1
.gitlab-ci.d/01-docker/target-env/linux-mips.env | 1
.gitlab-ci.d/01-docker/target-env/linux-mips64el.env | 1
.gitlab-ci.d/01-docker/target-env/linux-mipsel.env | 1
.gitlab-ci.d/01-docker/target-env/linux-ppc64le.env | 1
.gitlab-ci.d/01-docker/target-env/linux-riscv64.env | 1
.gitlab-ci.d/02-build.yml | 2 -
.gitlab-ci.d/03-test.yml | 3 ++
.gitlab-ci.d/meson-cross/linux-riscv64-gnu.meson | 6 -----
.gitlab-ci.d/meson-cross/linux-riscv64-llvm.meson | 6 -----
16 files changed, 31 insertions(+), 17 deletions(-)
New commits:
commit 277f485a9cfeb757c4627b9465bc26f3e74c1724
Author: Marek Pikuła <m.pikula at partner.samsung.com>
Date: Wed Sep 25 21:04:06 2024 +0200
ci: Add missing ":failing" suffix for linux-ppc job
Signed-off-by: Marek Pikuła <m.pikula at partner.samsung.com>
diff --git a/.gitlab-ci.d/03-test.yml b/.gitlab-ci.d/03-test.yml
index 683c200..f8eeeba 100644
--- a/.gitlab-ci.d/03-test.yml
+++ b/.gitlab-ci.d/03-test.yml
@@ -121,6 +121,7 @@ include:
inputs:
target: linux-ppc
qemu_cpu: [g4]
+ job_name_suffix: ":failing"
allow_failure: true # SIGILL for some tests
retry: 0
- local: .gitlab-ci.d/templates/test.yml
commit 126b0831423fd901332caf4432367477a4c98db9
Author: Marek Pikuła <m.pikula at partner.samsung.com>
Date: Wed Sep 25 20:48:47 2024 +0200
ci: Add option to use different version of LLVM
Some targets require different version of LLVM, so now it's possible to
set it in the target's environment. Mind that the highest available
version depends on the base Debian image.
The change bumps LLVM version for all Linux targets:
- by default from 14 to 16,
- from 16 to 18 for riscv64 (based on Sid; for now, LLVM 19 doesn't have
libomp packaged),
- mipsel stays at 14 as there seem to be some missing packages for
higher versions.
Windows targets stay the same, as they use a different source of LLVM
(MinGW-compatible, which is currently version 18).
Signed-off-by: Marek Pikuła <m.pikula at partner.samsung.com>
diff --git a/.gitlab-ci.d/01-docker.yml b/.gitlab-ci.d/01-docker.yml
index aff3085..37b335b 100644
--- a/.gitlab-ci.d/01-docker.yml
+++ b/.gitlab-ci.d/01-docker.yml
@@ -74,6 +74,7 @@ docker:
--platform=${DOCKER_PLATFORM}
--build-arg BASE_IMAGE=${BASE_IMAGE}
--build-arg BASE_IMAGE_TAG=${BASE_IMAGE_TAG}
+ --build-arg LLVM_VERSION=${LLVM_VERSION}
-f Dockerfile .gitlab-ci.d/01-docker/
- buildah images
- buildah push ${FULL_IMAGE_NAME}
diff --git a/.gitlab-ci.d/01-docker/Dockerfile b/.gitlab-ci.d/01-docker/Dockerfile
index 5c749ca..6f7ccf1 100644
--- a/.gitlab-ci.d/01-docker/Dockerfile
+++ b/.gitlab-ci.d/01-docker/Dockerfile
@@ -42,15 +42,23 @@ RUN ${APT_UPDATE} \
&& meson --version
FROM base AS llvm-base
+# LLVM 16 is the highest available in Bookworm. Preferably, we should use the
+# same version for all platforms, but it's not possible at the moment.
+ARG LLVM_VERSION=16
RUN ${APT_UPDATE} \
&& ${APT_INSTALL} \
- clang \
- libclang-rt-dev \
- lld \
- llvm \
- && ${APT_CLEANUP}
+ clang-${LLVM_VERSION} \
+ libclang-rt-${LLVM_VERSION}-dev \
+ lld-${LLVM_VERSION} \
+ llvm-${LLVM_VERSION} \
+ && ${APT_CLEANUP} \
+ && ln -f /usr/bin/clang-${LLVM_VERSION} /usr/bin/clang \
+ && ln -f /usr/bin/lld-${LLVM_VERSION} /usr/bin/lld \
+ && ln -f /usr/bin/llvm-ar-${LLVM_VERSION} /usr/bin/llvm-ar \
+ && ln -f /usr/bin/llvm-strip-${LLVM_VERSION} /usr/bin/llvm-strip
FROM llvm-base AS native-base
+ARG LLVM_VERSION=16
RUN ${APT_UPDATE} \
&& ${APT_INSTALL} \
# Runtime library dependencies.
@@ -60,7 +68,7 @@ RUN ${APT_UPDATE} \
# Install libomp-dev if available (OpenMP support for LLVM). It's done only
# for the native images, as OpenMP support in cross-build environment is
# tricky for LLVM.
- && (${APT_INSTALL} libomp-dev \
+ && (${APT_INSTALL} libomp-${LLVM_VERSION}-dev \
|| echo "OpenMP not available on this platform.") \
&& ${APT_CLEANUP}
diff --git a/.gitlab-ci.d/01-docker/target-env/linux-386.env b/.gitlab-ci.d/01-docker/target-env/linux-386.env
index 87cc913..0a129ab 100644
--- a/.gitlab-ci.d/01-docker/target-env/linux-386.env
+++ b/.gitlab-ci.d/01-docker/target-env/linux-386.env
@@ -1,3 +1,4 @@
DOCKER_PLATFORM=linux/386
BASE_IMAGE=docker.io/i386/debian
BASE_IMAGE_TAG=bookworm-slim
+LLVM_VERSION=16
diff --git a/.gitlab-ci.d/01-docker/target-env/linux-amd64.env b/.gitlab-ci.d/01-docker/target-env/linux-amd64.env
index 4798622..f9517e7 100644
--- a/.gitlab-ci.d/01-docker/target-env/linux-amd64.env
+++ b/.gitlab-ci.d/01-docker/target-env/linux-amd64.env
@@ -1,3 +1,4 @@
DOCKER_PLATFORM=linux/amd64
BASE_IMAGE=docker.io/amd64/debian
BASE_IMAGE_TAG=bookworm-slim
+LLVM_VERSION=16
diff --git a/.gitlab-ci.d/01-docker/target-env/linux-arm-v5.env b/.gitlab-ci.d/01-docker/target-env/linux-arm-v5.env
index 7b1b51b..fb6ce6c 100644
--- a/.gitlab-ci.d/01-docker/target-env/linux-arm-v5.env
+++ b/.gitlab-ci.d/01-docker/target-env/linux-arm-v5.env
@@ -1,3 +1,4 @@
DOCKER_PLATFORM=linux/arm/v5
BASE_IMAGE=docker.io/arm32v5/debian
BASE_IMAGE_TAG=bookworm-slim
+LLVM_VERSION=16
diff --git a/.gitlab-ci.d/01-docker/target-env/linux-arm-v7.env b/.gitlab-ci.d/01-docker/target-env/linux-arm-v7.env
index 6b528c1..5d871f4 100644
--- a/.gitlab-ci.d/01-docker/target-env/linux-arm-v7.env
+++ b/.gitlab-ci.d/01-docker/target-env/linux-arm-v7.env
@@ -1,3 +1,4 @@
DOCKER_PLATFORM=linux/arm/v7
BASE_IMAGE=docker.io/arm32v7/debian
BASE_IMAGE_TAG=bookworm-slim
+LLVM_VERSION=16
diff --git a/.gitlab-ci.d/01-docker/target-env/linux-arm64-v8.env b/.gitlab-ci.d/01-docker/target-env/linux-arm64-v8.env
index 1c6173b..2476ad0 100644
--- a/.gitlab-ci.d/01-docker/target-env/linux-arm64-v8.env
+++ b/.gitlab-ci.d/01-docker/target-env/linux-arm64-v8.env
@@ -1,3 +1,4 @@
DOCKER_PLATFORM=linux/arm64/v8
BASE_IMAGE=docker.io/arm64v8/debian
BASE_IMAGE_TAG=bookworm-slim
+LLVM_VERSION=16
diff --git a/.gitlab-ci.d/01-docker/target-env/linux-mips.env b/.gitlab-ci.d/01-docker/target-env/linux-mips.env
index 4798622..f9517e7 100644
--- a/.gitlab-ci.d/01-docker/target-env/linux-mips.env
+++ b/.gitlab-ci.d/01-docker/target-env/linux-mips.env
@@ -1,3 +1,4 @@
DOCKER_PLATFORM=linux/amd64
BASE_IMAGE=docker.io/amd64/debian
BASE_IMAGE_TAG=bookworm-slim
+LLVM_VERSION=16
diff --git a/.gitlab-ci.d/01-docker/target-env/linux-mips64el.env b/.gitlab-ci.d/01-docker/target-env/linux-mips64el.env
index 98d0372..690a018 100644
--- a/.gitlab-ci.d/01-docker/target-env/linux-mips64el.env
+++ b/.gitlab-ci.d/01-docker/target-env/linux-mips64el.env
@@ -1,3 +1,4 @@
DOCKER_PLATFORM=linux/mips64el
BASE_IMAGE=docker.io/mips64le/debian
BASE_IMAGE_TAG=bookworm-slim
+LLVM_VERSION=16
diff --git a/.gitlab-ci.d/01-docker/target-env/linux-mipsel.env b/.gitlab-ci.d/01-docker/target-env/linux-mipsel.env
index bb3a842..c350521 100644
--- a/.gitlab-ci.d/01-docker/target-env/linux-mipsel.env
+++ b/.gitlab-ci.d/01-docker/target-env/linux-mipsel.env
@@ -1,3 +1,4 @@
DOCKER_PLATFORM=linux/mipsel
BASE_IMAGE=docker.io/serenitycode/debian-debootstrap
BASE_IMAGE_TAG=mipsel-bookworm-slim
+LLVM_VERSION=14
diff --git a/.gitlab-ci.d/01-docker/target-env/linux-ppc64le.env b/.gitlab-ci.d/01-docker/target-env/linux-ppc64le.env
index 1aeff88..92a347f 100644
--- a/.gitlab-ci.d/01-docker/target-env/linux-ppc64le.env
+++ b/.gitlab-ci.d/01-docker/target-env/linux-ppc64le.env
@@ -1,3 +1,4 @@
DOCKER_PLATFORM=linux/ppc64le
BASE_IMAGE=docker.io/ppc64le/debian
BASE_IMAGE_TAG=bookworm-slim
+LLVM_VERSION=16
diff --git a/.gitlab-ci.d/01-docker/target-env/linux-riscv64.env b/.gitlab-ci.d/01-docker/target-env/linux-riscv64.env
index 0a91971..b5af511 100644
--- a/.gitlab-ci.d/01-docker/target-env/linux-riscv64.env
+++ b/.gitlab-ci.d/01-docker/target-env/linux-riscv64.env
@@ -1,3 +1,4 @@
DOCKER_PLATFORM=linux/riscv64
BASE_IMAGE=docker.io/riscv64/debian
BASE_IMAGE_TAG=sid-slim
+LLVM_VERSION=18
commit a3d297fa46ff231888e810303dc369a634a7923a
Author: Marek Pikuła <m.pikula at partner.samsung.com>
Date: Thu Sep 26 19:41:35 2024 +0200
ci: riscv64: Verify if tests run on target without RVV
To ensure that the runtime discovery works correctly, and RVV code is
disabled for target without RVV extension.
Signed-off-by: Marek Pikuła <m.pikula at partner.samsung.com>
diff --git a/.gitlab-ci.d/03-test.yml b/.gitlab-ci.d/03-test.yml
index 90003c5..683c200 100644
--- a/.gitlab-ci.d/03-test.yml
+++ b/.gitlab-ci.d/03-test.yml
@@ -149,6 +149,8 @@ include:
inputs:
target: linux-riscv64
qemu_cpu:
+ # Test on target without RVV (verify no autovectorization).
+ - rv64,v=false
# Test correctness for different VLENs.
- rv64,v=true,vext_spec=v1.0,vlen=128,elen=64
- rv64,v=true,vext_spec=v1.0,vlen=256,elen=64
commit 9176847f1d75c9379a6f67b6cde6dc44f408e39d
Author: Marek Pikuła <m.pikula at partner.samsung.com>
Date: Thu Sep 26 20:02:16 2024 +0200
ci: riscv64: Don't force enable RVV globally
RVV compilation will be enabled for RVV implementation alone, similar to
other platforms. This prevents introducing autovectorized code in the
main library, thus making pixman compatible with RISC-V targets without
RVV.
diff --git a/.gitlab-ci.d/02-build.yml b/.gitlab-ci.d/02-build.yml
index 78bd4d3..8609570 100644
--- a/.gitlab-ci.d/02-build.yml
+++ b/.gitlab-ci.d/02-build.yml
@@ -84,7 +84,7 @@ include:
- local: .gitlab-ci.d/templates/build.yml
inputs:
target: linux-riscv64
- qemu_cpu: rv64,v=true,vext_spec=v1.0,vlen=256,elen=64
+ qemu_cpu: rv64
- local: .gitlab-ci.d/templates/build.yml
inputs:
target: windows-686
diff --git a/.gitlab-ci.d/meson-cross/linux-riscv64-gnu.meson b/.gitlab-ci.d/meson-cross/linux-riscv64-gnu.meson
deleted file mode 100644
index 04821dc..0000000
--- a/.gitlab-ci.d/meson-cross/linux-riscv64-gnu.meson
+++ /dev/null
@@ -1,5 +0,0 @@
-[binaries]
-c = ['gcc', '-march=rv64gcv']
-ar = 'ar'
-strip = 'strip'
-pkg-config = 'pkg-config'
diff --git a/.gitlab-ci.d/meson-cross/linux-riscv64-gnu.meson b/.gitlab-ci.d/meson-cross/linux-riscv64-gnu.meson
new file mode 120000
index 0000000..ad75db9
--- /dev/null
+++ b/.gitlab-ci.d/meson-cross/linux-riscv64-gnu.meson
@@ -0,0 +1 @@
+native-gnu.meson
\ No newline at end of file
diff --git a/.gitlab-ci.d/meson-cross/linux-riscv64-llvm.meson b/.gitlab-ci.d/meson-cross/linux-riscv64-llvm.meson
deleted file mode 100644
index e9a868f..0000000
--- a/.gitlab-ci.d/meson-cross/linux-riscv64-llvm.meson
+++ /dev/null
@@ -1,5 +0,0 @@
-[binaries]
-c = ['clang', '-march=rv64gcv']
-ar = 'llvm-ar'
-strip = 'llvm-strip'
-pkg-config = 'pkg-config'
diff --git a/.gitlab-ci.d/meson-cross/linux-riscv64-llvm.meson b/.gitlab-ci.d/meson-cross/linux-riscv64-llvm.meson
new file mode 120000
index 0000000..3474611
--- /dev/null
+++ b/.gitlab-ci.d/meson-cross/linux-riscv64-llvm.meson
@@ -0,0 +1 @@
+native-llvm.meson
\ No newline at end of file
More information about the xorg-commit
mailing list