[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#910846: User error.



On 2018-10-15 1:43 p.m., Gong S. wrote:
> Sorry, I have found the problem. If I remove this line from "/etc/X11/xorg.conf", X would not crash:
> Option "DRI" "3"

If removing

	Option "AccelMethod" "EXA"

as well also works, that would be the best solution for you.


> So it is my fault. Sorry.

The crash is still a bug, even though EXA & DRI3 isn't recommended,
because it can't work correctly in some cases.

Any chance you can test if the attached patch fixes the crash?


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer
From e64500c35c3c4b233d12358837a18dcf362ba8f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
Date: Mon, 15 Oct 2018 17:14:41 +0200
Subject: [PATCH xf86-video-ati] dri3: Handle radeon_get_pixmap_bo returning
 NULL
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fixes: b85b7b11f5b5 "Add struct radeon_buffer"
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
---
 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 7e89a2f0b..25078bae1 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;
 }
 
-- 
2.19.1

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: