drirc: Enable glthread for dolphin/citra/yuzu.
authorMarkus Wick <markus@selfnet.de>
Tue, 5 Nov 2019 08:16:37 +0000 (09:16 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Fri, 22 Nov 2019 20:29:29 +0000 (15:29 -0500)
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@selfnet.de>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/util/00-mesa-defaults.conf

index 82b866b634f26a764274ae3f287ba87dea6fcd7f..ba343ec5ffb4ae7499fd115954efb57c9144147d 100644 (file)
@@ -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" />