summaryrefslogtreecommitdiff
path: root/src/radeon_glamor.c
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2014-06-19 18:27:59 +0900
committerMichel Dänzer <michel@daenzer.net>2014-07-30 18:45:32 +0900
commit4b5060f357a3cb248c9359c92c1e9c42ef6434c8 (patch)
tree1319700979f80ada4985f6a0c2c31aa974950a08 /src/radeon_glamor.c
parent9b54caf6509a9c02dd17c9c43d6be8f7ddc98054 (diff)
glamor: Set environment variable RADEON_THREAD=0
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Diffstat (limited to 'src/radeon_glamor.c')
-rw-r--r--src/radeon_glamor.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/radeon_glamor.c b/src/radeon_glamor.c
index 210ddcf2..02fa6583 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. Improves 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");