diff --git a/packages/graphics/libdrm/package.mk b/packages/graphics/libdrm/package.mk index 57af3809e9..0978b6ec3a 100644 --- a/packages/graphics/libdrm/package.mk +++ b/packages/graphics/libdrm/package.mk @@ -4,8 +4,8 @@ # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) PKG_NAME="libdrm" -PKG_VERSION="2.4.93" -PKG_SHA256="6e84d1dc9548a76f20b59a85cf80a0b230cd8196084f5243469d9e65354fcd3c" +PKG_VERSION="2.4.96" +PKG_SHA256="0d561acf7bb4cc59dc82415100e6c1a44860e8c380e00f9592923e3cd08db393" PKG_LICENSE="GPL" PKG_SITE="http://dri.freedesktop.org" PKG_URL="http://dri.freedesktop.org/libdrm/$PKG_NAME-$PKG_VERSION.tar.bz2" diff --git a/packages/x11/driver/xf86-video-amdgpu/package.mk b/packages/x11/driver/xf86-video-amdgpu/package.mk index ff509a2ff4..1716046e1d 100644 --- a/packages/x11/driver/xf86-video-amdgpu/package.mk +++ b/packages/x11/driver/xf86-video-amdgpu/package.mk @@ -2,8 +2,8 @@ # Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv) PKG_NAME="xf86-video-amdgpu" -PKG_VERSION="18.0.1" -PKG_SHA256="7484682ccb403b3ca9e26d1c980572f08cdfa3469e2b2c9a9affc3d51b52691b" +PKG_VERSION="18.1.0" +PKG_SHA256="e11f25bb51d718b8ea938ad2b8095323c0ab16f4ddffd92091d80f9a445a9672" PKG_ARCH="x86_64" PKG_LICENSE="OSS" PKG_SITE="http://www.x.org/" diff --git a/packages/x11/driver/xf86-video-amdgpu/patches/xf86-video-amdgpu-01-screen_resize.patch b/packages/x11/driver/xf86-video-amdgpu/patches/xf86-video-amdgpu-01-screen_resize.patch new file mode 100644 index 0000000000..b8b3f66a9f --- /dev/null +++ b/packages/x11/driver/xf86-video-amdgpu/patches/xf86-video-amdgpu-01-screen_resize.patch @@ -0,0 +1,33 @@ +From aa572683d86174be2bfc09d4e173ae2a9907d40e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michel=20D=C3=A4nzer?= +Date: Wed, 10 Oct 2018 17:28:35 +0200 +Subject: Fix condition for calling set_pixmap_bo in drmmode_xf86crtc_resize + +This matches CreateScreenResources_KMS. + +Fixes crash when resizing the screen (e.g. using xrandr) with depth < +24. + +Bugzilla: https://bugs.freedesktop.org/104914 +Acked-by: Alex Deucher +--- + src/drmmode_display.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/drmmode_display.c b/src/drmmode_display.c +index 5315747..9065e0f 100644 +--- a/src/drmmode_display.c ++++ b/src/drmmode_display.c +@@ -2881,8 +2881,7 @@ static Bool drmmode_xf86crtc_resize(ScrnInfoPtr scrn, int width, int height) + if (!amdgpu_glamor_create_screen_resources(scrn->pScreen)) + goto fail; + +- if (info->use_glamor || +- (info->front_buffer->flags & AMDGPU_BO_FLAGS_GBM)) { ++ if (info->use_glamor || info->dri2.enabled) { + if (!amdgpu_set_pixmap_bo(ppix, info->front_buffer)) + goto fail; + } +-- +cgit v1.1 + 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 +