From f51f7bffe44056bfe232266554fe5a3c6b5e1019 Mon Sep 17 00:00:00 2001 From: mglae Date: Tue, 23 Oct 2018 19:27:44 +0200 Subject: [PATCH] xf86-video-ati: update to 18.1.0, add crash fix --- packages/x11/driver/xf86-video-ati/package.mk | 4 +- ...ideo-ati-01-radeon_get_pixmap_bo_fix.patch | 57 +++++++++++++++++++ 2 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 packages/x11/driver/xf86-video-ati/patches/xf86-video-ati-01-radeon_get_pixmap_bo_fix.patch diff --git a/packages/x11/driver/xf86-video-ati/package.mk b/packages/x11/driver/xf86-video-ati/package.mk index ffd02ae0c2..862ec2d273 100644 --- a/packages/x11/driver/xf86-video-ati/package.mk +++ b/packages/x11/driver/xf86-video-ati/package.mk @@ -2,8 +2,8 @@ # Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv) PKG_NAME="xf86-video-ati" -PKG_VERSION="18.0.1" -PKG_SHA256="72ea3b8127d4550b64f797457f5a7851a541fa4ee2cc3f345b6c1886b81714a0" +PKG_VERSION="18.1.0" +PKG_SHA256="6c335f423c1dc3d904550d41cb871ca4130ba7037dda67d82e3f1555e1bfb9ac" PKG_ARCH="x86_64" PKG_LICENSE="OSS" PKG_SITE="http://www.x.org/" diff --git a/packages/x11/driver/xf86-video-ati/patches/xf86-video-ati-01-radeon_get_pixmap_bo_fix.patch b/packages/x11/driver/xf86-video-ati/patches/xf86-video-ati-01-radeon_get_pixmap_bo_fix.patch new file mode 100644 index 0000000000..b0b3041795 --- /dev/null +++ b/packages/x11/driver/xf86-video-ati/patches/xf86-video-ati-01-radeon_get_pixmap_bo_fix.patch @@ -0,0 +1,57 @@ +From f892d3791219d1041e0cbb1b866e15774004aa18 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michel=20D=C3=A4nzer?= +Date: Mon, 15 Oct 2018 17:14:41 +0200 +Subject: dri3: Handle radeon_get_pixmap_bo returning NULL + +We were trying to already, but testing the wrong pointer. + +Fixes: b85b7b11f5b5 "Add struct radeon_buffer" +Bug: https://bugs.debian.org/910846 +Reviewed-by: Alex Deucher +--- + src/radeon_dri3.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/radeon_dri3.c b/src/radeon_dri3.c +index 7e89a2f..25078ba 100644 +--- a/src/radeon_dri3.c ++++ b/src/radeon_dri3.c +@@ -212,7 +212,7 @@ static int radeon_dri3_fd_from_pixmap(ScreenPtr screen, + CARD16 *stride, + CARD32 *size) + { +- struct radeon_bo *bo; ++ struct radeon_buffer *bo; + int fd; + #ifdef USE_GLAMOR + ScrnInfoPtr scrn = xf86ScreenToScrn(screen); +@@ -222,10 +222,10 @@ static int radeon_dri3_fd_from_pixmap(ScreenPtr screen, + return glamor_fd_from_pixmap(screen, pixmap, stride, size); + #endif + +- bo = radeon_get_pixmap_bo(pixmap)->bo.radeon; ++ bo = radeon_get_pixmap_bo(pixmap); + if (!bo) { + exaMoveInPixmap(pixmap); +- bo = radeon_get_pixmap_bo(pixmap)->bo.radeon; ++ bo = radeon_get_pixmap_bo(pixmap); + if (!bo) + return -1; + } +@@ -233,11 +233,11 @@ static int radeon_dri3_fd_from_pixmap(ScreenPtr screen, + if (pixmap->devKind > UINT16_MAX) + return -1; + +- if (radeon_gem_prime_share_bo(bo, &fd) < 0) ++ if (radeon_gem_prime_share_bo(bo->bo.radeon, &fd) < 0) + return -1; + + *stride = pixmap->devKind; +- *size = bo->size; ++ *size = bo->bo.radeon->size; + return fd; + } + +-- +cgit v1.1 +