xf86-video-ati: Branch 'master' - 3 commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon May 10 08:46:33 UTC 2021
.gitlab-ci.yml | 80 +++++++++++++++++++++++++++++++++++++++++++
.gitlab-ci/debian-install.sh | 74 +++++++++++++++++++++++++++++++++++++++
src/radeon_dri2.c | 5 +-
src/radeon_present.c | 6 +++
4 files changed, 163 insertions(+), 2 deletions(-)
New commits:
commit ecced3b3c6af501c4c90265f8404b6898f3cf037
Author: Michel Dänzer <mdaenzer at redhat.com>
Date: Fri Mar 26 17:16:32 2021 +0100
Add GitLab CI pipeline
Based on xf86-video-amdgpu, but applying experience gained in the
meantime in other projects and taking advantage of new features
available with current versions of GitLab.
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 00000000..f7891323
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,80 @@
+# FDO_DISTRIBUTION_TAG is the tag of the docker image used for the build
+# jobs. If the image doesn't exist yet, the docker-image stage generates it
+# or copies it from upstream (this is all handled by the templates).
+#
+# 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.
+#
+variables:
+ FDO_DISTRIBUTION_VERSION: buster-slim
+ FDO_DISTRIBUTION_EXEC: 'bash .gitlab-ci/debian-install.sh'
+ FDO_DISTRIBUTION_TAG: "2021-05-10"
+ FDO_UPSTREAM_REPO: xorg/driver/xf86-video-ati
+
+include:
+ - project: 'freedesktop/ci-templates'
+ ref: 290b79e0e78eab67a83766f4e9691be554fc4afd
+ file: '/templates/debian.yml'
+
+stages:
+ - docker-image
+ - build
+
+
+container-build:
+ extends:
+ - .fdo.container-build at debian
+ stage: docker-image
+ variables:
+
+
+# The default build instructions
+.default_build:
+ extends:
+ - .fdo.distribution-image at debian
+ stage: build
+ script:
+ - ./autogen.sh
+ - make -j${FDO_CI_CONCURRENT:-4} check V=1
+ variables:
+ CFLAGS: "-pipe -g -O2 -Werror"
+ ACLOCAL_PATH: /usr/local/xserver-$XSERVER_VERSION/share/aclocal
+ PKG_CONFIG_PATH: /usr/local/xserver-$XSERVER_VERSION/lib/pkgconfig
+
+build-distcheck:
+ extends:
+ - .default_build
+ script:
+ - ./autogen.sh
+ - make -j${FDO_CI_CONCURRENT:-4} check V=1
+ - make install V=1
+ - make -j${FDO_CI_CONCURRENT:-4} distcheck
+ variables:
+ XSERVER_VERSION: "1.20"
+
+build-gcc:
+ extends:
+ - .default_build
+ parallel:
+ matrix:
+ - XSERVER_VERSION: ["1.16", "1.17", "1.18", "1.19"]
+
+build-clang:
+ extends:
+ - .default_build
+ parallel:
+ matrix:
+ - XSERVER_VERSION: ["1.20", "1.18", "1.19"]
+ variables:
+ CC: clang
+
+build-noglamor:
+ extends:
+ - .default_build
+ script:
+ - ./autogen.sh --disable-glamor
+ - make -j${FDO_CI_CONCURRENT:-4} check V=1
+ parallel:
+ matrix:
+ - XSERVER_VERSION: ["1.13", "1.14", "1.15"]
diff --git a/.gitlab-ci/debian-install.sh b/.gitlab-ci/debian-install.sh
new file mode 100644
index 00000000..4e528588
--- /dev/null
+++ b/.gitlab-ci/debian-install.sh
@@ -0,0 +1,74 @@
+#!/bin/bash
+
+set -e
+set -o xtrace
+
+echo 'deb-src https://deb.debian.org/debian buster main' >/etc/apt/sources.list.d/deb-src.list
+apt-get update
+
+
+# Ephemeral packages (installed for this script and removed again at the end)
+EPHEMERAL="
+ ca-certificates
+ git
+ "
+
+# libXfont/xserver build dependencies
+apt-get install -y --no-remove \
+ autoconf \
+ automake \
+ build-essential \
+ libtool \
+ pkg-config \
+ $EPHEMERAL
+
+echo 'APT::Get::Build-Dep-Automatic "true";' >>/etc/apt/apt.conf
+apt-get build-dep -y xorg-server
+
+
+git clone https://gitlab.freedesktop.org/xorg/lib/libXfont.git
+cd libXfont
+git checkout libXfont-1.5-branch
+./autogen.sh
+make install-pkgconfigDATA
+cd ..
+rm -rf libXfont
+
+
+git clone https://gitlab.freedesktop.org/xorg/xserver.git
+cd xserver
+
+for VERSION in 1.13 1.14 1.15; do
+ git checkout server-${VERSION}-branch
+ ./autogen.sh --prefix=/usr/local/xserver-$VERSION --enable-dri2
+ make -C include install-nodist_sdkHEADERS
+ make install-headers install-aclocalDATA install-pkgconfigDATA clean
+done
+
+for VERSION in 1.16 1.17 1.18 1.19 1.20; do
+ git checkout server-${VERSION}-branch
+ ./autogen.sh --prefix=/usr/local/xserver-$VERSION --enable-dri2 --enable-dri3 --enable-glamor
+ make -C include install-nodist_sdkHEADERS
+ make install-headers install-aclocalDATA install-pkgconfigDATA clean
+done
+
+cd ..
+rm -rf xserver
+
+
+# xf86-video-ati build dependencies
+apt-get install -y --no-remove \
+ clang \
+ libdrm-dev \
+ libgbm-dev \
+ libgl1-mesa-dev \
+ libpciaccess-dev \
+ libpixman-1-dev \
+ libudev-dev \
+ xutils-dev \
+ x11proto-dev
+
+
+# Remove unneeded packages
+apt-get purge -y $EPHEMERAL
+apt-get autoremove -y --purge
commit 77d9ab03ca20e683be4c40ccc879e201b538f7e5
Author: Michel Dänzer <mdaenzer at redhat.com>
Date: Fri Mar 26 17:37:53 2021 +0100
Guard local variable info only used with glamor
Fixes compiler warning with glamor disabled:
radeon_dri2.c: In function 'radeon_dri2_exchange_buffers':
radeon_dri2.c:732:19: error: unused variable 'info' [-Werror=unused-variable]
RADEONInfoPtr info = RADEONPTR(xf86ScreenToScrn(screen));
^~~~
diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
index 66a223d8..17983779 100644
--- a/src/radeon_dri2.c
+++ b/src/radeon_dri2.c
@@ -728,8 +728,9 @@ radeon_dri2_exchange_buffers(DrawablePtr draw, DRI2BufferPtr front, DRI2BufferPt
{
struct dri2_buffer_priv *front_priv = front->driverPrivate;
struct dri2_buffer_priv *back_priv = back->driverPrivate;
- ScreenPtr screen = draw->pScreen;
- RADEONInfoPtr info = RADEONPTR(xf86ScreenToScrn(screen));
+#ifdef USE_GLAMOR
+ RADEONInfoPtr info = RADEONPTR(xf86ScreenToScrn(draw->pScreen));
+#endif
RegionRec region;
int tmp;
commit 3c7c84ed49564907a148ae99b03200e0be350060
Author: Michel Dänzer <mdaenzer at redhat.com>
Date: Fri Mar 26 17:42:10 2021 +0100
Guard local variable priv only used with glamor
Fixes compile errors with glamor disabled:
../../src/radeon_present.c: In function ‘radeon_present_check_flip’:
../../src/radeon_present.c:281:21: error: invalid use of undefined type ‘struct radeon_pixmap’
281 | if (priv && priv->fb_failed)
| ^~
../../src/radeon_present.c:288:19: error: invalid use of undefined type ‘struct radeon_pixmap’
288 | if (priv && !priv->fb_failed) {
| ^~
../../src/radeon_present.c:292:10: error: invalid use of undefined type ‘struct radeon_pixmap’
292 | priv->fb_failed = TRUE;
| ^~
diff --git a/src/radeon_present.c b/src/radeon_present.c
index 494655c9..d010aa19 100644
--- a/src/radeon_present.c
+++ b/src/radeon_present.c
@@ -254,7 +254,9 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap,
xf86CrtcPtr xf86_crtc = crtc->devPrivate;
ScreenPtr screen = window->drawable.pScreen;
ScrnInfoPtr scrn = xf86_crtc->scrn;
+#ifdef USE_GLAMOR
struct radeon_pixmap *priv = radeon_get_pixmap_private(pixmap);
+#endif
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
RADEONInfoPtr info = RADEONPTR(scrn);
PixmapPtr screen_pixmap = screen->GetScreenPixmap(screen);
@@ -278,10 +280,13 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap,
return FALSE;
#endif
+#ifdef USE_GLAMOR
if (priv && priv->fb_failed)
return FALSE;
+#endif
if (!radeon_pixmap_get_fb(pixmap)) {
+#ifdef USE_GLAMOR
if (!priv)
priv = radeon_get_pixmap_private(pixmap);
@@ -291,6 +296,7 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap,
"normal if using PRIME render offloading)\n");
priv->fb_failed = TRUE;
}
+#endif
return FALSE;
}
More information about the xorg-commit
mailing list