[PATCH] radeon: avoid segfault when pixmap exceed GPU capabilities

j.glisse at gmail.com j.glisse at gmail.com
Wed Nov 14 09:39:14 PST 2012


From: Jerome Glisse <jglisse at redhat.com>

We might get a request for a pixmap/drawable that is too big
for GPU capabilities in the dri2 get buffer path. In face of
such things just return NULL to dri2 get buffer request. The
GL driver should then use something like transparent black to
avoid something too ugly on the screen.

Signed-off-by: Jerome Glisse <jglisse at redhat.com>
---
 src/radeon_dri2.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
index ebd813c..919f1f6 100644
--- a/src/radeon_dri2.c
+++ b/src/radeon_dri2.c
@@ -444,6 +444,10 @@ radeon_dri2_create_buffer2(ScreenPtr pScreen,
 	    info->exa_force_create = TRUE;
 	    exaMoveInPixmap(pixmap);
 	    info->exa_force_create = FALSE;
+	    if (exaGetPixmapDriverPrivate(pixmap) == NULL) {
+		/* this happen if pixmap is non accelerable */
+		goto error;
+	    }
 	}
 
 	if (is_glamor_pixmap)
-- 
1.8.0



More information about the xorg-driver-ati mailing list