Mesa (master): drirc: Enable glthread for dolphin/citra/yuzu.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Nov 22 20:31:57 UTC 2019


Module: Mesa
Branch: master
Commit: dba903ed0b526aa24f195352ddf35392a523a551
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dba903ed0b526aa24f195352ddf35392a523a551

Author: Markus Wick <markus at selfnet.de>
Date:   Tue Nov  5 09:16:37 2019 +0100

drirc: Enable glthread for dolphin/citra/yuzu.

Dolphin: 75 fps -> 88 fps - Super Mario Galaxy
Citra:   81 fps -> 91 fps - A Link Between Worlds
Yuzu:    21 fps -> 27 fps - Super Mario Odyssey

Dolphin still has many syncs because of glFenceSync and glClientWaitSync.
Moving them to the dispatcher thread might yield another speedup.

Yuzu uses a compatible profile by default. This benchmark used the variable
MESA_GL_VERSION_OVERRIDE=4.5FC to overwrite this behavior.

This profilation was done on a mobile i7-8550U CPU with i965.

Signed-off-by: Markus Wick <markus at selfnet.de>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/util/00-mesa-defaults.conf | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/util/00-mesa-defaults.conf b/src/util/00-mesa-defaults.conf
index 82b866b634f..ba343ec5ffb 100644
--- a/src/util/00-mesa-defaults.conf
+++ b/src/util/00-mesa-defaults.conf
@@ -370,6 +370,17 @@ TODO: document the other workarounds.
             <option name="mesa_glthread" value="true"/>
         </application>
 
+        <!-- Emulator tends to have a high CPU load for GPU emulation, so separating the driver overhead yield an improvement. -->
+        <application name="Dolphin Emulator" executable="dolphin-emu">
+            <option name="mesa_glthread" value="true"/>
+        </application>
+        <application name="Citra - Nintendo 3DS Emulator" executable="citra-qt">
+            <option name="mesa_glthread" value="true"/>
+        </application>
+        <application name="Yuzu - Nintendo Switch Emulator" executable="yuzu">
+            <option name="mesa_glthread" value="true"/>
+        </application>
+
         <!-- Adaptive sync blacklist follows below: -->
         <application name="gnome-shell" executable="gnome-shell">
             <option name="adaptive_sync" value="false" />




More information about the mesa-commit mailing list