diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 27027233..4a3ed214 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -213,7 +213,7 @@ x86_64-freebsd-container_prep: # the workspace to see details about the failed tests. - | set +e - /app/vmctl exec "pkg info; cd $CI_PROJECT_NAME ; meson build --auto-features=enabled -D nouveau=disabled -D valgrind=disabled && ninja -C build" + /app/vmctl exec "pkg info; cd $CI_PROJECT_NAME ; meson build --auto-features=enabled -D etnaviv=disabled -D nouveau=disabled -D valgrind=disabled && ninja -C build" set -ex scp -r vm:$CI_PROJECT_NAME/build/meson-logs . /app/vmctl exec "ninja -C $CI_PROJECT_NAME/build install" diff --git a/meson.build b/meson.build index 2b142c68..4249b627 100644 --- a/meson.build +++ b/meson.build @@ -165,11 +165,16 @@ summary('Tegra', with_tegra) with_etnaviv = false _etnaviv = get_option('etnaviv') -if _etnaviv.enabled() - if not with_atomics +if not _etnaviv.disabled() + if _etnaviv.enabled() and not with_atomics error('libdrm_etnaviv requires atomics.') endif - with_etnaviv = true + with_etnaviv = _etnaviv.enabled() or ( + with_atomics and [ + 'loongarch64', 'mips', 'mips64', + 'arm', 'aarch64', 'arc', + ].contains(host_machine.cpu_family()) + ) endif summary('Etnaviv', with_etnaviv) diff --git a/meson_options.txt b/meson_options.txt index caddeff2..e80d79e2 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -74,8 +74,7 @@ option( option( 'etnaviv', type : 'feature', - value : 'disabled', - description : '''Enable support for etnaviv's experimental KMS API.''', + description : '''Enable support for etnaviv's KMS API.''', ) option( 'cairo-tests',