GLES2: Disable half float on iOS via platform override

This can be changed back by setting
`rendering/gles2/compatibility/disable_half_float.iOS` to false.

Fixes #31907.
This commit is contained in:
Rémi Verschelde 2021-10-25 16:18:14 +02:00
parent a1b282cc16
commit bc0d18d8d5
No known key found for this signature in database
GPG key ID: C3336907360768E1
2 changed files with 5 additions and 1 deletions

View file

@ -1215,8 +1215,11 @@
<member name="rendering/gles2/compatibility/disable_half_float" type="bool" setter="" getter="" default="false"> <member name="rendering/gles2/compatibility/disable_half_float" type="bool" setter="" getter="" default="false">
The use of half-float vertex compression may be producing rendering errors on some platforms (especially iOS). These have been seen particularly in particles. Disabling half-float may resolve these problems. The use of half-float vertex compression may be producing rendering errors on some platforms (especially iOS). These have been seen particularly in particles. Disabling half-float may resolve these problems.
</member> </member>
<member name="rendering/gles2/compatibility/disable_half_float.iOS" type="bool" setter="" getter="" default="true">
iOS specific override for [member rendering/gles2/compatibility/disable_half_float], due to poor support for half-float vertex compression on many devices.
</member>
<member name="rendering/gles2/compatibility/enable_high_float.Android" type="bool" setter="" getter="" default="false"> <member name="rendering/gles2/compatibility/enable_high_float.Android" type="bool" setter="" getter="" default="false">
If [code]true[/code] and available on the target device, enables high floating point precision for all shader computations in GLES2. If [code]true[/code] and available on the target Android device, enables high floating point precision for all shader computations in GLES2.
[b]Warning:[/b] High floating point precision can be extremely slow on older devices and is often not available at all. Use with caution. [b]Warning:[/b] High floating point precision can be extremely slow on older devices and is often not available at all. Use with caution.
</member> </member>
<member name="rendering/limits/buffers/blend_shape_max_buffer_size_kb" type="int" setter="" getter="" default="4096"> <member name="rendering/limits/buffers/blend_shape_max_buffer_size_kb" type="int" setter="" getter="" default="4096">

View file

@ -2677,6 +2677,7 @@ VisualServer::VisualServer() {
GLOBAL_DEF("rendering/batching/debug/flash_batching", false); GLOBAL_DEF("rendering/batching/debug/flash_batching", false);
GLOBAL_DEF("rendering/batching/debug/diagnose_frame", false); GLOBAL_DEF("rendering/batching/debug/diagnose_frame", false);
GLOBAL_DEF("rendering/gles2/compatibility/disable_half_float", false); GLOBAL_DEF("rendering/gles2/compatibility/disable_half_float", false);
GLOBAL_DEF("rendering/gles2/compatibility/disable_half_float.iOS", true);
GLOBAL_DEF("rendering/gles2/compatibility/enable_high_float.Android", false); GLOBAL_DEF("rendering/gles2/compatibility/enable_high_float.Android", false);
GLOBAL_DEF("rendering/batching/precision/uv_contract", false); GLOBAL_DEF("rendering/batching/precision/uv_contract", false);
GLOBAL_DEF("rendering/batching/precision/uv_contract_amount", 100); GLOBAL_DEF("rendering/batching/precision/uv_contract_amount", 100);