ci: rusticl with llvmpipe
Signed-off-by: Karol Herbst <kherbst@redhat.com> Reviewed-by: Emma Anholt <emma@anholt.net> Reviewed-by: Karol Herbst <kherbst@redhat.com> Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439>
This commit is contained in:
@@ -87,6 +87,7 @@ stages:
|
||||
- git-archive
|
||||
- build-x86_64
|
||||
- build-misc
|
||||
- lint
|
||||
- amd
|
||||
- intel
|
||||
- nouveau
|
||||
|
@@ -123,7 +123,7 @@ debian-testing-msan:
|
||||
GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,radeonsi,tegra,d3d12,crocus"
|
||||
VULKAN_DRIVERS: intel,amd,broadcom,virtio-experimental
|
||||
|
||||
debian-clover-testing:
|
||||
.debian-cl-testing:
|
||||
extends:
|
||||
- .meson-build
|
||||
- .ci-deqp-artifacts
|
||||
@@ -133,9 +133,6 @@ debian-clover-testing:
|
||||
-D glx=disabled
|
||||
-D egl=disabled
|
||||
-D gbm=disabled
|
||||
GALLIUM_ST: >
|
||||
-D gallium-opencl=icd
|
||||
-D opencl-spirv=true
|
||||
GALLIUM_DRIVERS: "swrast"
|
||||
BUILDTYPE: "debugoptimized"
|
||||
EXTRA_OPTION: >
|
||||
@@ -144,6 +141,22 @@ debian-clover-testing:
|
||||
- .gitlab-ci/meson/build.sh
|
||||
- .gitlab-ci/prepare-artifacts.sh
|
||||
|
||||
debian-clover-testing:
|
||||
extends:
|
||||
- .debian-cl-testing
|
||||
variables:
|
||||
GALLIUM_ST: >
|
||||
-D gallium-opencl=icd
|
||||
-D opencl-spirv=true
|
||||
|
||||
debian-rusticl-testing:
|
||||
extends:
|
||||
- .debian-cl-testing
|
||||
variables:
|
||||
GALLIUM_ST: >
|
||||
-D gallium-rusticl=true
|
||||
-D opencl-spirv=true
|
||||
|
||||
debian-build-testing:
|
||||
extends: .meson-build
|
||||
variables:
|
||||
@@ -163,6 +176,7 @@ debian-build-testing:
|
||||
-D gallium-xa=enabled
|
||||
-D gallium-nine=true
|
||||
-D gallium-opencl=disabled
|
||||
-D gallium-rusticl=false
|
||||
GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,d3d12,asahi,crocus"
|
||||
VULKAN_DRIVERS: swrast
|
||||
EXTRA_OPTION: >
|
||||
@@ -195,6 +209,7 @@ debian-release:
|
||||
-D gallium-xa=enabled
|
||||
-D gallium-nine=false
|
||||
-D gallium-opencl=disabled
|
||||
-D gallium-rusticl=false
|
||||
-D llvm=enabled
|
||||
GALLIUM_DRIVERS: "i915,iris,nouveau,kmsro,freedreno,r300,svga,swrast,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,d3d12,crocus"
|
||||
VULKAN_DRIVERS: "amd,imagination-experimental,microsoft-experimental"
|
||||
@@ -244,6 +259,7 @@ fedora-release:
|
||||
-D gallium-xa=enabled
|
||||
-D gallium-nine=false
|
||||
-D gallium-opencl=icd
|
||||
-D gallium-rusticl=false
|
||||
-D gles1=disabled
|
||||
-D gles2=enabled
|
||||
-D llvm=enabled
|
||||
@@ -290,6 +306,7 @@ debian-android:
|
||||
-D gallium-xa=disabled
|
||||
-D gallium-nine=false
|
||||
-D gallium-opencl=disabled
|
||||
-D gallium-rusticl=false
|
||||
LLVM_VERSION: ""
|
||||
PKG_CONFIG_LIBDIR: "/disable/non/android/system/pc/files"
|
||||
script:
|
||||
@@ -463,7 +480,7 @@ windows-vs2019:
|
||||
- _build/meson-logs/*.txt
|
||||
- _install/
|
||||
|
||||
debian-clover:
|
||||
.debian-cl:
|
||||
extends: .meson-build
|
||||
variables:
|
||||
UNWIND: "enabled"
|
||||
@@ -471,6 +488,12 @@ debian-clover:
|
||||
-D glx=disabled
|
||||
-D egl=disabled
|
||||
-D gbm=disabled
|
||||
EXTRA_OPTION: >
|
||||
-D valgrind=false
|
||||
|
||||
debian-clover:
|
||||
extends: .debian-cl
|
||||
variables:
|
||||
GALLIUM_DRIVERS: "r600,radeonsi,swrast"
|
||||
GALLIUM_ST: >
|
||||
-D dri3=disabled
|
||||
@@ -481,8 +504,22 @@ debian-clover:
|
||||
-D gallium-xa=disabled
|
||||
-D gallium-nine=false
|
||||
-D gallium-opencl=icd
|
||||
EXTRA_OPTION: >
|
||||
-D valgrind=false
|
||||
-D gallium-rusticl=false
|
||||
|
||||
debian-rusticl:
|
||||
extends: .debian-cl
|
||||
variables:
|
||||
GALLIUM_DRIVERS: "iris,swrast"
|
||||
GALLIUM_ST: >
|
||||
-D dri3=disabled
|
||||
-D gallium-vdpau=disabled
|
||||
-D gallium-xvmc=disabled
|
||||
-D gallium-omx=disabled
|
||||
-D gallium-va=disabled
|
||||
-D gallium-xa=disabled
|
||||
-D gallium-nine=false
|
||||
-D gallium-opencl=disabled
|
||||
-D gallium-rusticl=true
|
||||
|
||||
debian-vulkan:
|
||||
extends: .meson-build
|
||||
@@ -503,6 +540,7 @@ debian-vulkan:
|
||||
-D gallium-xa=disabled
|
||||
-D gallium-nine=false
|
||||
-D gallium-opencl=disabled
|
||||
-D gallium-rusticl=false
|
||||
-D b_sanitize=undefined
|
||||
-D c_args=-fno-sanitize-recover=all
|
||||
-D cpp_args=-fno-sanitize-recover=all
|
||||
@@ -573,6 +611,7 @@ debian-mingw32-x86_64:
|
||||
VULKAN_DRIVERS: "swrast,amd,microsoft-experimental"
|
||||
GALLIUM_ST: >
|
||||
-D gallium-opencl=icd
|
||||
-D gallium-rusticl=false
|
||||
-D opencl-spirv=true
|
||||
-D microsoft-clc=enabled
|
||||
-D static-libclc=all
|
||||
|
@@ -11,14 +11,21 @@ set -ex
|
||||
mkdir -p "$HOME"/.cargo
|
||||
ln -s /usr/local/bin "$HOME"/.cargo/bin
|
||||
|
||||
# Rusticl requires at least Rust 1.59.0
|
||||
#
|
||||
# Also, oick a specific snapshot from rustup so the compiler doesn't drift on
|
||||
# us.
|
||||
RUST_VERSION=1.59.0-2022-02-24
|
||||
|
||||
# For rust in Mesa, we use rustup to install. This lets us pick an arbitrary
|
||||
# version of the compiler, rather than whatever the container's Debian comes
|
||||
# with.
|
||||
#
|
||||
# Pick the rust compiler (1.48) available in Debian stable, and pick a specific
|
||||
# snapshot from rustup so the compiler doesn't drift on us.
|
||||
wget https://sh.rustup.rs -O - | \
|
||||
sh -s -- -y --default-toolchain 1.49.0-2020-12-31
|
||||
wget https://sh.rustup.rs -O - | sh -s -- \
|
||||
--default-toolchain $RUST_VERSION \
|
||||
--profile minimal \
|
||||
-y
|
||||
|
||||
rustup component add rustfmt
|
||||
|
||||
# Set up a config script for cross compiling -- cargo needs your system cc for
|
||||
# linking in cross builds, but doesn't know what you want to use for system cc.
|
||||
|
@@ -28,6 +28,7 @@ apt-get install -y --no-remove \
|
||||
bison \
|
||||
ccache \
|
||||
dpkg-cross \
|
||||
findutils \
|
||||
flex \
|
||||
g++ \
|
||||
cmake \
|
||||
@@ -78,6 +79,11 @@ apt-get install -y --no-remove \
|
||||
# Needed for ci-fairy, this revision is able to upload files to MinIO
|
||||
pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@34f4ade99434043f88e164933f570301fd18b125
|
||||
|
||||
# We need at least 0.61.4 for proper Rust
|
||||
pip3 install meson==0.61.5
|
||||
|
||||
. .gitlab-ci/container/build-rust.sh
|
||||
|
||||
. .gitlab-ci/container/debian/x86_build-base-wine.sh
|
||||
|
||||
############### Uninstall ephemeral packages
|
||||
|
@@ -90,6 +90,12 @@ rm -rf DirectX-Headers
|
||||
|
||||
pip3 install git+https://git.lavasoftware.org/lava/lavacli@3db3ddc45e5358908bc6a17448059ea2340492b7
|
||||
|
||||
# install bindgen
|
||||
RUSTFLAGS='-L native=/usr/local/lib' cargo install \
|
||||
bindgen --version 0.59.2 \
|
||||
-j ${FDO_CI_CONCURRENT:-4} \
|
||||
--root /usr/local
|
||||
|
||||
############### Uninstall the build software
|
||||
|
||||
apt-get purge -y \
|
||||
|
@@ -1,9 +1,9 @@
|
||||
variables:
|
||||
DEBIAN_X86_BUILD_BASE_IMAGE: "debian/x86_build-base"
|
||||
DEBIAN_BASE_TAG: "2022-09-07-ci-templates"
|
||||
DEBIAN_BASE_TAG: "2022-09-11-rusticl"
|
||||
|
||||
DEBIAN_X86_BUILD_IMAGE_PATH: "debian/x86_build"
|
||||
DEBIAN_BUILD_TAG: "2022-09-07-ci-templates"
|
||||
DEBIAN_BUILD_TAG: "2022-09-11-rusticl"
|
||||
|
||||
DEBIAN_X86_BUILD_MINGW_IMAGE_PATH: "debian/x86_build-mingw"
|
||||
DEBIAN_BUILD_MINGW_TAG: "2022-08-25-shellcheck"
|
||||
@@ -11,8 +11,8 @@ variables:
|
||||
DEBIAN_X86_TEST_BASE_IMAGE: "debian/x86_test-base"
|
||||
|
||||
DEBIAN_X86_TEST_IMAGE_PATH: "debian/x86_test-gl"
|
||||
DEBIAN_X86_TEST_GL_TAG: "2022-09-07-ci-templates"
|
||||
DEBIAN_X86_TEST_VK_TAG: "2022-09-07-ci-templates"
|
||||
DEBIAN_X86_TEST_GL_TAG: "2022-09-11-rusticl"
|
||||
DEBIAN_X86_TEST_VK_TAG: "2022-09-11-rusticl"
|
||||
|
||||
FEDORA_X86_BUILD_TAG: "2022-08-25-shellcheck"
|
||||
KERNEL_ROOTFS_TAG: "2022-09-08-nouveau"
|
||||
|
@@ -114,7 +114,7 @@
|
||||
stage: software-renderer
|
||||
rules:
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- changes:
|
||||
- changes: &llvmpipe_cl_files
|
||||
- .gitlab-ci.yml
|
||||
- .gitlab-ci/**/*
|
||||
- meson.build
|
||||
@@ -130,10 +130,21 @@
|
||||
- changes:
|
||||
*llvmpipe_file_list
|
||||
when: on_success
|
||||
- changes: &clover_file_list
|
||||
|
||||
.llvmpipe-clover-rules:
|
||||
rules:
|
||||
- !reference [.llvmpipe-cl-rules, rules]
|
||||
- changes:
|
||||
- src/gallium/frontends/clover/**/*
|
||||
when: on_success
|
||||
|
||||
.llvmpipe-rusticl-rules:
|
||||
rules:
|
||||
- !reference [.llvmpipe-cl-rules, rules]
|
||||
- changes:
|
||||
- src/gallium/frontends/rusticl/**/*
|
||||
when: on_success
|
||||
|
||||
.collabora-farm-rules:
|
||||
rules:
|
||||
- if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/'
|
||||
@@ -627,3 +638,12 @@
|
||||
- changes:
|
||||
*lavapipe_file_list
|
||||
when: on_success
|
||||
|
||||
# Rules for linters
|
||||
.lint-rustfmt-rules:
|
||||
rules:
|
||||
- !reference [.no_scheduled_pipelines-rules, rules]
|
||||
- !reference [.core-rules, rules]
|
||||
- changes:
|
||||
- src/**/*.rs
|
||||
when: on_success
|
||||
|
@@ -17,6 +17,18 @@
|
||||
paths:
|
||||
- results/
|
||||
|
||||
rustfmt:
|
||||
# Cancel job if a newer commit is pushed to the same branch
|
||||
interruptible: true
|
||||
stage: lint
|
||||
extends:
|
||||
- .use-debian/x86_build
|
||||
- .lint-rustfmt-rules
|
||||
variables:
|
||||
GIT_STRATEGY: fetch
|
||||
script:
|
||||
- git ls-files */{lib,app}.rs | xargs rustfmt --check
|
||||
|
||||
.test-gl:
|
||||
extends:
|
||||
- .test
|
||||
@@ -39,7 +51,6 @@
|
||||
- .use-debian/x86_test-gl
|
||||
needs:
|
||||
- debian/x86_test-gl
|
||||
- debian-clover-testing
|
||||
|
||||
.vkd3d-proton-test:
|
||||
artifacts:
|
||||
|
@@ -7,22 +7,40 @@
|
||||
FLAKES_CHANNEL: "#mesa-swrast-ci"
|
||||
GPU_VERSION: llvmpipe
|
||||
|
||||
llvmpipe-piglit-cl:
|
||||
.llvmpipe-piglit-cl:
|
||||
extends:
|
||||
- .test-cl
|
||||
- .piglit-test
|
||||
- .llvmpipe-test
|
||||
- .llvmpipe-cl-rules
|
||||
variables:
|
||||
LP_CL: 1
|
||||
LP_NUM_THREADS: 1
|
||||
PIGLIT_PROFILES: cl
|
||||
PIGLIT_RESULTS: "llvmpipe-cl"
|
||||
PIGLIT_TESTS: >
|
||||
-x bswap -x phatk -x clz-optimizations
|
||||
script:
|
||||
- install/piglit/run_cl.sh
|
||||
|
||||
llvmpipe-piglit-clover:
|
||||
extends:
|
||||
- .llvmpipe-piglit-cl
|
||||
- .llvmpipe-clover-rules
|
||||
needs:
|
||||
- debian-clover-testing
|
||||
- debian/x86_test-gl
|
||||
variables:
|
||||
PIGLIT_RESULTS: "llvmpipe-clover"
|
||||
|
||||
llvmpipe-piglit-rusticl:
|
||||
extends:
|
||||
- .llvmpipe-piglit-cl
|
||||
- .llvmpipe-rusticl-rules
|
||||
needs:
|
||||
- debian-rusticl-testing
|
||||
- debian/x86_test-gl
|
||||
variables:
|
||||
PIGLIT_RESULTS: "llvmpipe-rusticl"
|
||||
|
||||
llvmpipe-traces:
|
||||
extends:
|
||||
- .test-gl
|
||||
|
103
src/gallium/drivers/llvmpipe/ci/llvmpipe-rusticl.txt
Normal file
103
src/gallium/drivers/llvmpipe/ci/llvmpipe-rusticl.txt
Normal file
@@ -0,0 +1,103 @@
|
||||
api/clbuildprogram: fail
|
||||
api/clcompileprogram: fail
|
||||
api/clcreateprogramwithbinary: fail
|
||||
api/clenqueuefillimage: crash
|
||||
api/clenqueuemigratememobjects: fail
|
||||
api/clgetcommandqueueinfo: fail
|
||||
api/clgetdeviceinfo: fail
|
||||
api/clgetextensionfunctionaddressforplatform: fail
|
||||
api/clgetkernelarginfo: fail
|
||||
api/cllinkprogram: fail
|
||||
interop/egl_khr_cl_event2: skip
|
||||
program/build/fail/invalid-version-declaration: fail
|
||||
program/build/include-directories: fail
|
||||
program/execute/amdgcn-callee-saved-registers: skip
|
||||
program/execute/amdgcn-f16-inline-immediates: skip
|
||||
program/execute/amdgcn-f32-inline-immediates/add integer 64: fail
|
||||
program/execute/amdgcn-f64-inline-immediates: skip
|
||||
program/execute/amdgcn-i16-inline-immediates: skip
|
||||
program/execute/atomic_int64_add-global: skip
|
||||
program/execute/atomic_int64_add-global-return: skip
|
||||
program/execute/atomic_int64_add-local: skip
|
||||
program/execute/atomic_int64_and-global: skip
|
||||
program/execute/atomic_int64_and-global-return: skip
|
||||
program/execute/atomic_int64_and-local: skip
|
||||
program/execute/atomic_int64_cmpxchg-global: skip
|
||||
program/execute/atomic_int64_cmpxchg-global-return: skip
|
||||
program/execute/atomic_int64_cmpxchg-local: skip
|
||||
program/execute/atomic_int64_dec-global: skip
|
||||
program/execute/atomic_int64_dec-global-return: skip
|
||||
program/execute/atomic_int64_dec-local: skip
|
||||
program/execute/atomic_int64_inc-global: skip
|
||||
program/execute/atomic_int64_inc-global-return: skip
|
||||
program/execute/atomic_int64_inc-local: skip
|
||||
program/execute/atomic_int64_max-global: skip
|
||||
program/execute/atomic_int64_max-global-return: skip
|
||||
program/execute/atomic_int64_max-local: skip
|
||||
program/execute/atomic_int64_min-global: skip
|
||||
program/execute/atomic_int64_min-global-return: skip
|
||||
program/execute/atomic_int64_min-local: skip
|
||||
program/execute/atomic_int64_or-global: skip
|
||||
program/execute/atomic_int64_or-global-return: skip
|
||||
program/execute/atomic_int64_or-local: skip
|
||||
program/execute/atomic_int64_sub-global: skip
|
||||
program/execute/atomic_int64_sub-global-return: skip
|
||||
program/execute/atomic_int64_sub-local: skip
|
||||
program/execute/atomic_int64_xchg-global: skip
|
||||
program/execute/atomic_int64_xchg-global-return: skip
|
||||
program/execute/atomic_int64_xchg-local: skip
|
||||
program/execute/atomic_int64_xor-global: skip
|
||||
program/execute/atomic_int64_xor-global-return: skip
|
||||
program/execute/atomic_int64_xor-local: skip
|
||||
program/execute/builtin/builtin-float-nextafter-1.0.generated/nextafter float1: fail
|
||||
program/execute/builtin/builtin-float-nextafter-1.0.generated/nextafter float16: fail
|
||||
program/execute/builtin/builtin-float-nextafter-1.0.generated/nextafter float2: fail
|
||||
program/execute/builtin/builtin-float-nextafter-1.0.generated/nextafter float4: fail
|
||||
program/execute/builtin/builtin-float-nextafter-1.0.generated/nextafter float8: fail
|
||||
program/execute/builtin/builtin-float-sincos-1.0.generated: timeout
|
||||
program/execute/builtin/builtin-shuffle-double-ulong: skip
|
||||
program/execute/builtin/builtin-shuffle-half-ushort: skip
|
||||
program/execute/builtin/builtin-shuffle2-double-ulong: skip
|
||||
program/execute/builtin/builtin-shuffle2-half-ushort: skip
|
||||
program/execute/call-clobbers-amdgcn: skip
|
||||
program/execute/calls-large-struct/byval struct: fail
|
||||
program/execute/calls-struct/regs struct: fail
|
||||
program/execute/calls-struct/small struct in regs: fail
|
||||
program/execute/fdiv-modifiers-f64: skip
|
||||
program/execute/global-offset/3d, input dependent: fail
|
||||
program/execute/load-hi16-generic: skip
|
||||
program/execute/load-lo16-generic: skip
|
||||
program/execute/mad-mix: skip
|
||||
program/execute/program-tester-check-local-size-test-should-skip/this test should skip: skip
|
||||
program/execute/scalar-arithmetic-double: skip
|
||||
program/execute/store-hi16-generic: skip
|
||||
program/execute/store/store-double-global: skip
|
||||
program/execute/store/store-double-local: skip
|
||||
program/execute/store/store-double16-global: skip
|
||||
program/execute/store/store-double16-local: skip
|
||||
program/execute/store/store-double2-global: skip
|
||||
program/execute/store/store-double2-local: skip
|
||||
program/execute/store/store-double4-global: skip
|
||||
program/execute/store/store-double4-local: skip
|
||||
program/execute/store/store-double8-global: skip
|
||||
program/execute/store/store-double8-local: skip
|
||||
program/execute/vload/vload-double-constant: skip
|
||||
program/execute/vload/vload-double-global: skip
|
||||
program/execute/vload/vload-double-local: skip
|
||||
program/execute/vload/vload-double-private: skip
|
||||
program/execute/vload/vload-half-constant: skip
|
||||
program/execute/vload/vload-half-global: skip
|
||||
program/execute/vload/vload-half-local: skip
|
||||
program/execute/vload/vload-half-private: skip
|
||||
program/execute/vstore/vstore-double-global: skip
|
||||
program/execute/vstore/vstore-double-local: skip
|
||||
program/execute/vstore/vstore-double-private: skip
|
||||
program/execute/vstore/vstore-half-global: skip
|
||||
program/execute/vstore/vstore-half-local: skip
|
||||
program/execute/vstore/vstore-half-private: skip
|
||||
program/execute/vstore/vstore_half-double-global: skip
|
||||
program/execute/vstore/vstore_half-double-local: skip
|
||||
program/execute/vstore/vstore_half-double-private: skip
|
||||
program/execute/vstore/vstorea_half-double-global: skip
|
||||
program/execute/vstore/vstorea_half-double-local: skip
|
||||
program/execute/vstore/vstorea_half-double-private: skip
|
Reference in New Issue
Block a user