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