diff --git a/drivers/gles2/rasterizer_storage_gles2.cpp b/drivers/gles2/rasterizer_storage_gles2.cpp index e5a4926b33e..3c15374bde3 100644 --- a/drivers/gles2/rasterizer_storage_gles2.cpp +++ b/drivers/gles2/rasterizer_storage_gles2.cpp @@ -5961,12 +5961,15 @@ void RasterizerStorageGLES2::initialize() { config.support_write_depth = config.extensions.has("GL_EXT_frag_depth"); #endif + config.support_half_float_vertices = true; +//every platform should support this except web, iOS has issues with their support, so add option to disable #ifdef JAVASCRIPT_ENABLED config.support_half_float_vertices = false; -#else - //every other platform, be it mobile or desktop, supports this (even if not in the GLES2 spec). - config.support_half_float_vertices = true; #endif + bool disable_half_float = GLOBAL_GET("rendering/gles2/batching/disable_half_float"); + if (disable_half_float) { + config.support_half_float_vertices = false; + } config.rgtc_supported = config.extensions.has("GL_EXT_texture_compression_rgtc") || config.extensions.has("GL_ARB_texture_compression_rgtc") || config.extensions.has("EXT_texture_compression_rgtc"); config.bptc_supported = config.extensions.has("GL_ARB_texture_compression_bptc") || config.extensions.has("EXT_texture_compression_bptc"); diff --git a/servers/visual_server.cpp b/servers/visual_server.cpp index 0482d28a8ba..444131f8531 100644 --- a/servers/visual_server.cpp +++ b/servers/visual_server.cpp @@ -2430,6 +2430,7 @@ VisualServer::VisualServer() { GLOBAL_DEF("rendering/gles2/debug/flash_batching", false); GLOBAL_DEF("rendering/gles2/debug/diagnose_frame", false); GLOBAL_DEF_RST("rendering/gles2/debug/use_batching_in_editor", true); + GLOBAL_DEF("rendering/gles2/debug/disable_half_float", false); ProjectSettings::get_singleton()->set_custom_property_info("rendering/gles2/batching/max_join_item_commands", PropertyInfo(Variant::INT, "rendering/gles2/batching/max_join_item_commands", PROPERTY_HINT_RANGE, "0,65535")); ProjectSettings::get_singleton()->set_custom_property_info("rendering/gles2/batching/colored_vertex_format_threshold", PropertyInfo(Variant::REAL, "rendering/gles2/batching/colored_vertex_format_threshold", PROPERTY_HINT_RANGE, "0.0,1.0,0.01"));