[PATCH] glamor: Set environment variable RADEON_THREAD=0

Michel Dänzer michel at daenzer.net
Wed Jul 30 00:33:53 PDT 2014


From: Michel Dänzer <michel.daenzer at amd.com>

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 src/radeon_glamor.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/radeon_glamor.c b/src/radeon_glamor.c
index 210ddcf..d63a9d4 100644
--- a/src/radeon_glamor.c
+++ b/src/radeon_glamor.c
@@ -132,6 +132,16 @@ radeon_glamor_pre_init(ScrnInfoPtr scrn)
 			"Incompatible glamor version, required >= 0.3.0.\n");
 			return FALSE;
 		} else {
+			/* This prevents the Gallium radeon winsys from spawning
+			 * a separate thread for submitting command streams to
+			 * the kernel. Imrpoves scores of at least gtkperf and
+			 * x11perf -putimage/-shmput/-getimage/-shmget, probably
+			 * because glamor causes too many command stream flushes
+			 * / too much synchronization with pending command
+			 * streams for the separate thread to pay off.
+			 */
+			setenv("RADEON_THREAD", "0", 0);
+
 			if (glamor_egl_init(scrn, info->dri2.drm_fd)) {
 				xf86DrvMsg(scrn->scrnIndex, X_INFO,
 					   "glamor detected, initialising EGL layer.\n");
-- 
2.0.1



More information about the xorg-driver-ati mailing list