Skip to content

Commit

Permalink
GLES2: Disable half float on iOS via platform override
Browse files Browse the repository at this point in the history
This can be changed back by setting
`rendering/gles2/compatibility/disable_half_float.iOS` to false.

Fixes #31907.
  • Loading branch information
akien-mga committed Oct 25, 2021
1 parent a1b282c commit bc0d18d
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
5 changes: 4 additions & 1 deletion doc/classes/ProjectSettings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1215,8 +1215,11 @@
<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.
</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">
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.
</member>
<member name="rendering/limits/buffers/blend_shape_max_buffer_size_kb" type="int" setter="" getter="" default="4096">
Expand Down
1 change: 1 addition & 0 deletions servers/visual_server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2677,6 +2677,7 @@ VisualServer::VisualServer() {
GLOBAL_DEF("rendering/batching/debug/flash_batching", 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.iOS", true);
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_amount", 100);
Expand Down

0 comments on commit bc0d18d

Please sign in to comment.