Merge pull request #38453 from lawnjelly/ios_halffloat_hacky

GLES2 disable half-float project setting
This commit is contained in:
Rémi Verschelde 2020-05-04 16:29:27 +02:00 committed by GitHub
commit d20485039c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 3 deletions

View File

@ -5961,12 +5961,15 @@ void RasterizerStorageGLES2::initialize() {
config.support_write_depth = config.extensions.has("GL_EXT_frag_depth"); config.support_write_depth = config.extensions.has("GL_EXT_frag_depth");
#endif #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 #ifdef JAVASCRIPT_ENABLED
config.support_half_float_vertices = false; 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 #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.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"); config.bptc_supported = config.extensions.has("GL_ARB_texture_compression_bptc") || config.extensions.has("EXT_texture_compression_bptc");

View File

@ -2430,6 +2430,7 @@ VisualServer::VisualServer() {
GLOBAL_DEF("rendering/gles2/debug/flash_batching", false); GLOBAL_DEF("rendering/gles2/debug/flash_batching", false);
GLOBAL_DEF("rendering/gles2/debug/diagnose_frame", false); GLOBAL_DEF("rendering/gles2/debug/diagnose_frame", false);
GLOBAL_DEF_RST("rendering/gles2/debug/use_batching_in_editor", true); 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/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")); 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"));