diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2014-06-19 18:27:59 +0900 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2014-07-30 18:45:32 +0900 |
commit | 4b5060f357a3cb248c9359c92c1e9c42ef6434c8 (patch) | |
tree | 1319700979f80ada4985f6a0c2c31aa974950a08 | |
parent | 9b54caf6509a9c02dd17c9c43d6be8f7ddc98054 (diff) |
glamor: Set environment variable RADEON_THREAD=0
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
-rw-r--r-- | src/radeon_glamor.c | 10 |
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"); |