driconf: Disable fp16 for browsers

There are way too many broken WebGL apps using the wrong precision
qualifiers, which causes anything from jittery geometry to complete
breakage (e.g. QuakeJS and other games).

In addition, a Firefox bug is breaking basic canvas rendering for the
same reason (mozilla bug #1845309).

Let's just disable fp16 for browsers. There is no hope of getting all
this broken stuff fixed.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25052>
This commit is contained in:
Asahi Lina 2023-08-30 15:42:48 +09:00 committed by Marge Bot
parent 025da70013
commit 8781c448a4

View file

@ -915,6 +915,39 @@ TODO: document the other workarounds.
<option name="vk_x11_override_min_image_count" value="3" />
</application>
<!-- Disable fp16 support for browsers, since there is too much
broken WebGL out there that uses the wrong precision.
Bonus workaround for Firefox bug #1845309. -->
<application name="Firefox" executable="firefox">
<option name="no_fp16" value="true" />
</application>
<application name="Firefox ESR" executable="firefox-esr">
<option name="no_fp16" value="true" />
</application>
<application name="Chromium" executable="chromium">
<option name="no_fp16" value="true" />
</application>
<application name="Google Chrome" executable="chrome">
<option name="no_fp16" value="true" />
</application>
<application name="Iceweasel" executable="iceweasel">
<option name="no_fp16" value="true" />
</application>
<application name="Epiphany" executable="epiphany">
<option name="no_fp16" value="true" />
</application>
<application name="Konqueror" executable="konqueror">
<option name="no_fp16" value="true" />
</application>
<application name="Falkon" executable="falkon">
<option name="no_fp16" value="true" />
</application>
<application name="Seamonkey" executable="seamonkey">
<option name="no_fp16" value="true" />
</application>
<application name="Waterfox" executable="waterfox">
<option name="no_fp16" value="true" />
</application>
</device>
<!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
<device driver="vmwgfx">