Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[xsrc-public/trunk]: xsrc-public/external/mit/libdrm/dist initial import of l...
details: https://anonhg.NetBSD.org/xsrc-public/rev/1421c8974abd
branches: trunk
changeset: 6942:1421c8974abd
user: mrg <mrg%NetBSD.org@localhost>
date: Sun Jan 09 09:01:58 2022 +0000
description:
initial import of libdrm-2.4.109
diffstat:
external/mit/libdrm/dist/.gitlab-ci.yml | 280 +++++++++++
external/mit/libdrm/dist/.gitlab-ci/debian-install.sh | 66 ++
external/mit/libdrm/dist/amdgpu/amdgpu-symbols.txt | 1 +
external/mit/libdrm/dist/amdgpu/amdgpu_device.c | 5 +
external/mit/libdrm/dist/core-symbols.txt | 3 +
external/mit/libdrm/dist/data/amdgpu.ids | 375 +++++++-------
external/mit/libdrm/dist/etnaviv/etnaviv_bo.c | 13 +-
external/mit/libdrm/dist/etnaviv/etnaviv_drm.h | 13 +-
external/mit/libdrm/dist/exynos/exynos_drm.c | 6 +-
external/mit/libdrm/dist/freedreno/freedreno_bo.c | 10 +-
external/mit/libdrm/dist/gen_table_fourcc.py | 2 +-
external/mit/libdrm/dist/include/drm/amdgpu_drm.h | 18 +-
external/mit/libdrm/dist/include/drm/drm_fourcc.h | 141 +++++-
external/mit/libdrm/dist/include/drm/drm_mode.h | 170 +++++-
external/mit/libdrm/dist/intel/i915_pciids.h | 8 +-
external/mit/libdrm/dist/intel/intel_decode.c | 41 +-
external/mit/libdrm/dist/man/drm-memory.7.rst | 17 +-
external/mit/libdrm/dist/meson.build | 43 +-
external/mit/libdrm/dist/nouveau/nouveau.c | 5 +-
external/mit/libdrm/dist/nouveau/pushbuf.c | 6 +-
external/mit/libdrm/dist/omap/omap_drm.c | 10 +-
external/mit/libdrm/dist/radeon/radeon_bo.h | 1 -
external/mit/libdrm/dist/tegra/tegra.c | 6 +-
external/mit/libdrm/dist/tests/amdgpu/amdgpu_stress.c | 418 +++++++++++++++++
external/mit/libdrm/dist/tests/amdgpu/meson.build | 11 +
external/mit/libdrm/dist/tests/amdgpu/security_tests.c | 10 +-
external/mit/libdrm/dist/tests/modeprint/modeprint.c | 2 +-
external/mit/libdrm/dist/tests/proptest/proptest.c | 2 +-
28 files changed, 1344 insertions(+), 339 deletions(-)
diffs (truncated from 2327 to 300 lines):
diff -r 472cd7a4bc43 -r 1421c8974abd external/mit/libdrm/dist/.gitlab-ci.yml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/external/mit/libdrm/dist/.gitlab-ci.yml Sun Jan 09 09:01:58 2022 +0000
@@ -0,0 +1,280 @@
+# This is the tag of the docker image used for the build jobs. If the
+# image doesn't exist yet, the containers stage generates it.
+#
+# In order to generate a new image, one should generally change the tag.
+# While removing the image from the registry would also work, that's not
+# recommended except for ephemeral images during development: Replacing
+# an image after a significant amount of time might pull in newer
+# versions of gcc/clang or other packages, which might break the build
+# with older commits using the same tag.
+#
+# After merging a change resulting in generating a new image to the
+# main repository, it's recommended to remove the image from the source
+# repository's container registry, so that the image from the main
+# repository's registry will be used there as well.
+.templates_sha: &template_sha 567700e483aabed992d0a4fea84994a0472deff6 # see https://docs.gitlab.com/ee/ci/yaml/#includefile
+
+include:
+ - project: 'freedesktop/ci-templates'
+ ref: *template_sha
+ file:
+ - '/templates/debian.yml'
+ - '/templates/freebsd.yml'
+ - '/templates/ci-fairy.yml'
+
+variables:
+ FDO_UPSTREAM_REPO: mesa/drm
+ FDO_REPO_SUFFIX: "$BUILD_OS/$BUILD_ARCH"
+
+stages:
+ - "Base container"
+ - "Build"
+
+.ci-rules:
+ rules:
+ - when: on_success
+
+# CONTAINERS
+
+.os-debian:
+ variables:
+ BUILD_OS: debian
+ FDO_DISTRIBUTION_VERSION: buster
+ FDO_DISTRIBUTION_PACKAGES: 'build-essential docbook-xsl libatomic-ops-dev libcairo2-dev libcunit1-dev libpciaccess-dev meson ninja-build pkg-config python3 python3-pip python3-wheel
python3-setuptools python3-docutils valgrind'
+ FDO_DISTRIBUTION_EXEC: 'pip3 install meson==0.52.1'
+ # bump this tag every time you change something which requires rebuilding the
+ # base image
+ FDO_DISTRIBUTION_TAG: "2021-08-03.0"
+
+.debian-x86_64:
+ extends:
+ - .os-debian
+ variables:
+ BUILD_ARCH: "x86-64"
+
+.debian-aarch64:
+ extends:
+ - .os-debian
+ variables:
+ BUILD_ARCH: "aarch64"
+
+.debian-armv7:
+ extends:
+ - .os-debian
+ variables:
+ BUILD_ARCH: "armv7"
+
+.os-freebsd:
+ variables:
+ BUILD_OS: freebsd
+ FDO_DISTRIBUTION_VERSION: "13.0"
+ FDO_DISTRIBUTION_PACKAGES: 'meson ninja pkgconf libpciaccess libpthread-stubs py38-docutils cairo'
+ # bump this tag every time you change something which requires rebuilding the
+ # base image
+ FDO_DISTRIBUTION_TAG: "2021-11-10.1"
+
+.freebsd-x86_64:
+ extends:
+ - .os-freebsd
+ variables:
+ BUILD_ARCH: "x86_64"
+
+# Build our base container image, which contains the core distribution, the
+# toolchain, and all our build dependencies. This will be reused in the build
+# stage.
+x86_64-debian-container_prep:
+ extends:
+ - .ci-rules
+ - .debian-x86_64
+ - .fdo.container-build@debian
+ stage: "Base container"
+ variables:
+ GIT_STRATEGY: none
+
+aarch64-debian-container_prep:
+ extends:
+ - .ci-rules
+ - .debian-aarch64
+ - .fdo.container-build@debian
+ tags:
+ - aarch64
+ stage: "Base container"
+ variables:
+ GIT_STRATEGY: none
+
+armv7-debian-container_prep:
+ extends:
+ - .ci-rules
+ - .debian-armv7
+ - .fdo.container-build@debian
+ tags:
+ - aarch64
+ stage: "Base container"
+ variables:
+ GIT_STRATEGY: none
+ FDO_BASE_IMAGE: "arm32v7/debian:$FDO_DISTRIBUTION_VERSION"
+
+x86_64-freebsd-container_prep:
+ extends:
+ - .ci-rules
+ - .freebsd-x86_64
+ - .fdo.qemu-build@freebsd@x86_64
+ stage: "Base container"
+ variables:
+ GIT_STRATEGY: none
+
+# Core build environment.
+.build-env:
+ variables:
+ MESON_BUILD_TYPE: "-Dbuildtype=debug -Doptimization=0 -Db_sanitize=address,undefined"
+
+# OS/architecture-specific variants
+.build-env-debian-x86_64:
+ extends:
+ - .fdo.suffixed-image@debian
+ - .debian-x86_64
+ - .build-env
+ needs:
+ - job: x86_64-debian-container_prep
+ artifacts: false
+
+.build-env-debian-aarch64:
+ extends:
+ - .fdo.suffixed-image@debian
+ - .debian-aarch64
+ - .build-env
+ variables:
+ # At least with the versions we have, the LSan runtime makes fork unusably
+ # slow on AArch64, which is bad news since the test suite decides to fork
+ # for every single subtest. For now, in order to get AArch64 builds and
+ # tests into CI, just assume that we're not going to leak any more on
+ # AArch64 than we would on ARMv7 or x86-64.
+ ASAN_OPTIONS: "detect_leaks=0"
+ tags:
+ - aarch64
+ needs:
+ - job: aarch64-debian-container_prep
+ artifacts: false
+
+.build-env-debian-armv7:
+ extends:
+ - .fdo.suffixed-image@debian
+ - .debian-armv7
+ - .build-env
+ tags:
+ - aarch64
+ needs:
+ - job: armv7-debian-container_prep
+ artifacts: false
+
+.build-env-freebsd-x86_64:
+ variables:
+ # Compiling with ASan+UBSan appears to trigger an infinite loop in the
+ # compiler shipped with FreeBSD 13.0, so we only use UBSan here.
+ # Additionally, sanitizers can't be used with b_lundef on FreeBSD.
+ MESON_BUILD_TYPE: "-Dbuildtype=debug -Db_sanitize=undefined -Db_lundef=false"
+ extends:
+ - .fdo.suffixed-image@freebsd
+ - .freebsd-x86_64
+ - .build-env
+ needs:
+ - job: x86_64-freebsd-container_prep
+ artifacts: false
+
+# BUILD
+
+.do-build:
+ extends:
+ - .ci-rules
+ stage: "Build"
+ variables:
+ GIT_DEPTH: 10
+ script:
+ - meson build
+ -D amdgpu=true
+ -D cairo-tests=true
+ -D etnaviv=true
+ -D exynos=true
+ -D freedreno=true
+ -D freedreno-kgsl=true
+ -D intel=true
+ -D libkms=true
+ -D man-pages=true
+ -D nouveau=true
+ -D omap=true
+ -D radeon=true
+ -D tegra=true
+ -D udev=true
+ -D valgrind=auto
+ -D vc4=true
+ -D vmwgfx=true
+ - ninja -C build
+ - ninja -C build test
+ - DESTDIR=$PWD/install ninja -C build install
+ artifacts:
+ when: on_failure
+ paths:
+ - build/meson-logs/*
+
+.do-build-qemu:
+ extends:
+ - .ci-rules
+ stage: "Build"
+ script:
+ # Start the VM and copy our workspace to the VM
+ - /app/vmctl start
+ - scp -r $PWD "vm:"
+ # The `set +e is needed to ensure that we always copy the meson logs back to
+ # the workspace to see details about the failed tests.
+ - |
+ set +e
+ /app/vmctl exec "pkg info; cd $CI_PROJECT_NAME ; meson build -D amdgpu=true -D cairo-tests=true -D intel=true -D libkms=true -D man-pages=true -D nouveau=false -D radeon=true -D valgrind=auto
&& ninja -C build"
+ set -ex
+ scp -r vm:$CI_PROJECT_NAME/build/meson-logs .
+ /app/vmctl exec "ninja -C $CI_PROJECT_NAME/build install"
+ mkdir -p $PREFIX && scp -r vm:$PREFIX/ $PREFIX/
+ # Finally, shut down the VM.
+ - /app/vmctl stop
+ artifacts:
+ when: on_failure
+ paths:
+ - build/meson-logs/*
+
+# Full build and test.
+x86_64-debian-build:
+ extends:
+ - .build-env-debian-x86_64
+ - .do-build
+
+aarch64-debian-build:
+ extends:
+ - .build-env-debian-aarch64
+ - .do-build
+
+armv7-debian-build:
+ extends:
+ - .build-env-debian-armv7
+ - .do-build
+
+# Daily build
+meson-arch-daily:
+ rules:
+ - if: '$SCHEDULE == "arch-daily"'
+ when: on_success
+ - when: never
+ image: archlinux/archlinux:base-devel
+ before_script:
+ - pacman -Syu --noconfirm --needed
+ cairo
+ cunit
+ libatomic_ops
+ libpciaccess
+ meson
+ valgrind
+ python-docutils
+ extends: .do-build
+
+x86_64-freebsd-build:
+ extends:
+ - .build-env-freebsd-x86_64
+ - .do-build-qemu
diff -r 472cd7a4bc43 -r 1421c8974abd external/mit/libdrm/dist/.gitlab-ci/debian-install.sh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/external/mit/libdrm/dist/.gitlab-ci/debian-install.sh Sun Jan 09 09:01:58 2022 +0000
@@ -0,0 +1,66 @@
+#!/usr/bin/env bash
+set -o errexit
+set -o xtrace
+
+export DEBIAN_FRONTEND=noninteractive
+
+CROSS_ARCHITECTURES=(i386 armhf arm64 ppc64el)
+for arch in ${CROSS_ARCHITECTURES[@]}; do
+ dpkg --add-architecture $arch
+done
+
+apt-get install -y \
Home |
Main Index |
Thread Index |
Old Index