Mesa (main): freedreno: Unleash the dragon!

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Aug 3 00:25:18 UTC 2021


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

Author: Rob Clark <robdclark at chromium.org>
Date:   Thu Jul 29 15:46:10 2021 -0700

freedreno: Unleash the dragon!

A number of android games are so far, sadly, unaware of open source
drivers.  And when they see an unknown driver they lump it in the lowest
performance tier, artificially limiting framerate and/or gfx settings.
So until the games catch up, use driconf to override vendor/renderer
settings for moar fps and nicer gfx.

Furthermore, some games seem to be limiting *too* conservatively when
we otherwise have plenty of headroom even if we claim to be a bigger
adreno.  Possibly a concession to battery life or tighter thermal
constraints in a phone, as compared to something like a chromebook.
Or maybe the flagship gaming phone thing is a scam ;-)

Signed-off-by: Rob Clark <robdclark at chromium.org>
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12135>

---

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

diff --git a/src/util/00-mesa-defaults.conf b/src/util/00-mesa-defaults.conf
index 632361ae857..0650adf2a7f 100644
--- a/src/util/00-mesa-defaults.conf
+++ b/src/util/00-mesa-defaults.conf
@@ -855,4 +855,46 @@ TODO: document the other workarounds.
             <option name="radv_report_apu_as_dgpu" value="true" />
         </application>
     </device>
+    <!--
+         The android game hall of shame:
+
+         Workarounds for android games that are not aware of open source drivers.
+         These can be removed as games have their allowlists updated.
+     -->
+    <device driver="msm" device="FD618">
+        <application name="Call of Duty Mobile" executable="com.activision.callofduty.shooter">
+            <option name="force_gl_renderer" value="Adreno (TM) 618"/>
+            <option name="force_gl_vendor" value="Qualcomm"/>
+        </application>
+        <application name="Asphalt 8" executable="com.gameloft.android.ANMP.GloftA8HM">
+            <!-- Note: asphalt8's allowlist seems to not have been updated recently
+                 enough to be aware of "Adreno (TM) 618", but we seem to otherwise
+                 have enough headroom to opt into the higher settings.  (Conversely
+                 the allowlist seems to allow G72-MP3 into the higher tier, despite
+                 not being able to maintain fps.. possibly it is not properly
+                 differentiating between various core MPn configurations.  So I'm
+                 going to use that to justify claiming to be a618's *slightly*
+                 bigger brother)
+             -->
+            <option name="force_gl_renderer" value="Adreno (TM) 630"/>
+            <option name="force_gl_vendor" value="Qualcomm"/>
+        </application>
+        <application name="Asphalt 9" executable="com.gameloft.android.ANMP.GloftA9HM">
+            <option name="force_gl_renderer" value="Adreno (TM) 618"/>
+            <option name="force_gl_vendor" value="Qualcomm"/>
+        </application>
+        <application name="PUBG Mobile" executable="com.tencent.ig">
+            <!-- Note: Maxed out a630 settings still limits max framerate, yet GPU
+                 is below 45% utilization (mostly closer to 40%).  If I claim to
+                 be a640, that unlocks "Extreme" framerate (and "Ultra HD" graphics).
+                 With "Extreme" + "HDR" we are comfortably at 60fps with plenty of
+                 headroom.  "Extreme" + "Ultra HD" (max settings for a640) we are
+                 starting to approach the limit.  I'll stick with a630 to be
+                 conservative, but argueably we could go higher.  (This flagship
+                 gaming phone thing is a scam!)
+             -->
+            <option name="force_gl_renderer" value="Adreno (TM) 630"/>
+            <option name="force_gl_vendor" value="Qualcomm"/>
+        </application>
+    </device>
 </driconf>



More information about the mesa-commit mailing list