Disable threaded mesh building on low-end renderers (only GLES3)

master
Marc Gilleron 2022-07-03 03:40:33 +01:00
parent ec24204ecc
commit 1b9ce1b309
1 changed files with 6 additions and 2 deletions

View File

@ -130,8 +130,12 @@ void initialize_voxel_module(ModuleInitializationLevel p_level) {
VoxelServer::create_singleton(threads_config);
VoxelServer::get_singleton().set_main_thread_time_budget_usec(main_thread_budget_usec);
// TODO Pick this from the current renderer + user option (at time of writing, Godot 4 has only one renderer and
// has not figured out how such option would be exposed)
VoxelServer::get_singleton().set_threaded_mesh_resource_building_enabled(true);
// has not figured out how such option would be exposed).
// Could use `can_create_resources_async` but this is internal.
// AFAIK `is_low_end` will be `true` only for OpenGL backends, which are the only ones not supporting async
// resource creation.
VoxelServer::get_singleton().set_threaded_mesh_resource_building_enabled(
RenderingServer::get_singleton()->is_low_end() == false);
gd::VoxelServer::create_singleton();
Engine::get_singleton()->add_singleton(Engine::Singleton("VoxelServer", gd::VoxelServer::get_singleton()));