diff --git a/minetest.conf.example b/minetest.conf.example index 96f075e76..aeeff8223 100644 --- a/minetest.conf.example +++ b/minetest.conf.example @@ -389,3 +389,6 @@ #modstore_download_url = https://forum.minetest.net/media/ #modstore_listmods_url = https://forum.minetest.net/mmdb/mods/ #modstore_details_url = https://forum.minetest.net/mmdb/mod/*/ + +# Makes DirectX work with LuaJIT. Disable if it causes troubles. +#high_precision_fpu = true diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index ab8e983e9..9e27c79cd 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -280,6 +280,7 @@ void set_default_settings(Settings *settings) settings->setDefault("modstore_listmods_url", "https://forum.minetest.net/mmdb/mods/"); settings->setDefault("modstore_details_url", "https://forum.minetest.net/mmdb/mod/*/"); + settings->setDefault("high_precision_fpu", "true"); } void override_default_settings(Settings *settings, Settings *from) diff --git a/src/main.cpp b/src/main.cpp index 41acfe7b2..940580b7a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1288,6 +1288,7 @@ int main(int argc, char *argv[]) params.Stencilbuffer = false; params.Vsync = vsync; params.EventReceiver = &receiver; + params.HighPrecisionFPU = g_settings->getBool("high_precision_fpu"); nulldevice = createDeviceEx(params); @@ -1340,6 +1341,7 @@ int main(int argc, char *argv[]) params.Stencilbuffer = false; params.Vsync = vsync; params.EventReceiver = &receiver; + params.HighPrecisionFPU = g_settings->getBool("high_precision_fpu"); device = createDeviceEx(params);