Merge pull request #84800 from gshadows/fix_options_range
Fix unlimited project option ranges that could cause crashes.
This commit is contained in:
commit
ca7fb29203
|
@ -1393,8 +1393,8 @@ ProjectSettings::ProjectSettings() {
|
||||||
// - Have a 16:9 aspect ratio,
|
// - Have a 16:9 aspect ratio,
|
||||||
// - Have both dimensions divisible by 8 to better play along with video recording,
|
// - Have both dimensions divisible by 8 to better play along with video recording,
|
||||||
// - Be displayable correctly in windowed mode on a 1366×768 display (tested on Windows 10 with default settings).
|
// - Be displayable correctly in windowed mode on a 1366×768 display (tested on Windows 10 with default settings).
|
||||||
GLOBAL_DEF_BASIC(PropertyInfo(Variant::INT, "display/window/size/viewport_width", PROPERTY_HINT_RANGE, "0,7680,1,or_greater"), 1152); // 8K resolution
|
GLOBAL_DEF_BASIC(PropertyInfo(Variant::INT, "display/window/size/viewport_width", PROPERTY_HINT_RANGE, "1,7680,1,or_greater"), 1152); // 8K resolution
|
||||||
GLOBAL_DEF_BASIC(PropertyInfo(Variant::INT, "display/window/size/viewport_height", PROPERTY_HINT_RANGE, "0,4320,1,or_greater"), 648); // 8K resolution
|
GLOBAL_DEF_BASIC(PropertyInfo(Variant::INT, "display/window/size/viewport_height", PROPERTY_HINT_RANGE, "1,4320,1,or_greater"), 648); // 8K resolution
|
||||||
|
|
||||||
GLOBAL_DEF_BASIC(PropertyInfo(Variant::INT, "display/window/size/mode", PROPERTY_HINT_ENUM, "Windowed,Minimized,Maximized,Fullscreen,Exclusive Fullscreen"), 0);
|
GLOBAL_DEF_BASIC(PropertyInfo(Variant::INT, "display/window/size/mode", PROPERTY_HINT_ENUM, "Windowed,Minimized,Maximized,Fullscreen,Exclusive Fullscreen"), 0);
|
||||||
|
|
||||||
|
@ -1410,8 +1410,8 @@ ProjectSettings::ProjectSettings() {
|
||||||
GLOBAL_DEF("display/window/size/extend_to_title", false);
|
GLOBAL_DEF("display/window/size/extend_to_title", false);
|
||||||
GLOBAL_DEF("display/window/size/no_focus", false);
|
GLOBAL_DEF("display/window/size/no_focus", false);
|
||||||
|
|
||||||
GLOBAL_DEF(PropertyInfo(Variant::INT, "display/window/size/window_width_override", PROPERTY_HINT_RANGE, "0,7680,1,or_greater"), 0); // 8K resolution
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "display/window/size/window_width_override", PROPERTY_HINT_RANGE, "1,7680,1,or_greater"), 0); // 8K resolution
|
||||||
GLOBAL_DEF(PropertyInfo(Variant::INT, "display/window/size/window_height_override", PROPERTY_HINT_RANGE, "0,4320,1,or_greater"), 0); // 8K resolution
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "display/window/size/window_height_override", PROPERTY_HINT_RANGE, "1,4320,1,or_greater"), 0); // 8K resolution
|
||||||
|
|
||||||
GLOBAL_DEF("display/window/energy_saving/keep_screen_on", true);
|
GLOBAL_DEF("display/window/energy_saving/keep_screen_on", true);
|
||||||
GLOBAL_DEF("display/window/energy_saving/keep_screen_on.editor", false);
|
GLOBAL_DEF("display/window/energy_saving/keep_screen_on.editor", false);
|
||||||
|
@ -1470,11 +1470,11 @@ ProjectSettings::ProjectSettings() {
|
||||||
GLOBAL_DEF_BASIC("gui/common/snap_controls_to_pixels", true);
|
GLOBAL_DEF_BASIC("gui/common/snap_controls_to_pixels", true);
|
||||||
GLOBAL_DEF_BASIC("gui/fonts/dynamic_fonts/use_oversampling", true);
|
GLOBAL_DEF_BASIC("gui/fonts/dynamic_fonts/use_oversampling", true);
|
||||||
|
|
||||||
GLOBAL_DEF("rendering/rendering_device/staging_buffer/block_size_kb", 256);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/rendering_device/staging_buffer/block_size_kb", PROPERTY_HINT_RANGE, "4,2048,1,or_greater"), 256);
|
||||||
GLOBAL_DEF("rendering/rendering_device/staging_buffer/max_size_mb", 128);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/rendering_device/staging_buffer/max_size_mb", PROPERTY_HINT_RANGE, "1,1024,1,or_greater"), 128);
|
||||||
GLOBAL_DEF("rendering/rendering_device/staging_buffer/texture_upload_region_size_px", 64);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/rendering_device/staging_buffer/texture_upload_region_size_px", PROPERTY_HINT_RANGE, "1,256,1,or_greater"), 64);
|
||||||
GLOBAL_DEF("rendering/rendering_device/pipeline_cache/save_chunk_size_mb", 3.0);
|
GLOBAL_DEF(PropertyInfo(Variant::FLOAT, "rendering/rendering_device/pipeline_cache/save_chunk_size_mb", PROPERTY_HINT_RANGE, "0.000001,64.0,0.001,or_greater"), 3.0);
|
||||||
GLOBAL_DEF("rendering/rendering_device/vulkan/max_descriptors_per_pool", 64);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/rendering_device/vulkan/max_descriptors_per_pool", PROPERTY_HINT_RANGE, "1,256,1,or_greater"), 64);
|
||||||
|
|
||||||
GLOBAL_DEF_RST("rendering/rendering_device/d3d12/max_resource_descriptors_per_frame", 16384);
|
GLOBAL_DEF_RST("rendering/rendering_device/d3d12/max_resource_descriptors_per_frame", 16384);
|
||||||
custom_prop_info["rendering/rendering_device/d3d12/max_resource_descriptors_per_frame"] = PropertyInfo(Variant::INT, "rendering/rendering_device/d3d12/max_resource_descriptors_per_frame", PROPERTY_HINT_RANGE, "512,262144");
|
custom_prop_info["rendering/rendering_device/d3d12/max_resource_descriptors_per_frame"] = PropertyInfo(Variant::INT, "rendering/rendering_device/d3d12/max_resource_descriptors_per_frame", PROPERTY_HINT_RANGE, "512,262144");
|
||||||
|
|
|
@ -46,18 +46,18 @@ void initialize_lightmapper_rd_module(ModuleInitializationLevel p_level) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
GLOBAL_DEF("rendering/lightmapping/bake_quality/low_quality_ray_count", 32);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/lightmapping/bake_quality/low_quality_ray_count", PROPERTY_HINT_RANGE, "1,4096,1,or_greater"), 32);
|
||||||
GLOBAL_DEF("rendering/lightmapping/bake_quality/medium_quality_ray_count", 128);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/lightmapping/bake_quality/medium_quality_ray_count", PROPERTY_HINT_RANGE, "1,4096,1,or_greater"), 128);
|
||||||
GLOBAL_DEF("rendering/lightmapping/bake_quality/high_quality_ray_count", 512);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/lightmapping/bake_quality/high_quality_ray_count", PROPERTY_HINT_RANGE, "1,4096,1,or_greater"), 512);
|
||||||
GLOBAL_DEF("rendering/lightmapping/bake_quality/ultra_quality_ray_count", 2048);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/lightmapping/bake_quality/ultra_quality_ray_count", PROPERTY_HINT_RANGE, "1,4096,1,or_greater"), 2048);
|
||||||
GLOBAL_DEF("rendering/lightmapping/bake_performance/max_rays_per_pass", 32);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/lightmapping/bake_performance/max_rays_per_pass", PROPERTY_HINT_RANGE, "1,256,1,or_greater"), 32);
|
||||||
GLOBAL_DEF("rendering/lightmapping/bake_performance/region_size", 512);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/lightmapping/bake_performance/region_size", PROPERTY_HINT_RANGE, "1,4096,1,or_greater"), 512);
|
||||||
|
|
||||||
GLOBAL_DEF("rendering/lightmapping/bake_quality/low_quality_probe_ray_count", 64);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/lightmapping/bake_quality/low_quality_probe_ray_count", PROPERTY_HINT_RANGE, "1,4096,1,or_greater"), 64);
|
||||||
GLOBAL_DEF("rendering/lightmapping/bake_quality/medium_quality_probe_ray_count", 256);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/lightmapping/bake_quality/medium_quality_probe_ray_count", PROPERTY_HINT_RANGE, "1,4096,1,or_greater"), 256);
|
||||||
GLOBAL_DEF("rendering/lightmapping/bake_quality/high_quality_probe_ray_count", 512);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/lightmapping/bake_quality/high_quality_probe_ray_count", PROPERTY_HINT_RANGE, "1,4096,1,or_greater"), 512);
|
||||||
GLOBAL_DEF("rendering/lightmapping/bake_quality/ultra_quality_probe_ray_count", 2048);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/lightmapping/bake_quality/ultra_quality_probe_ray_count", PROPERTY_HINT_RANGE, "1,4096,1,or_greater"), 2048);
|
||||||
GLOBAL_DEF("rendering/lightmapping/bake_performance/max_rays_per_probe_pass", 64);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/lightmapping/bake_performance/max_rays_per_probe_pass", PROPERTY_HINT_RANGE, "1,256,1,or_greater"), 64);
|
||||||
|
|
||||||
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/lightmapping/denoising/denoiser", PROPERTY_HINT_ENUM, "JNLM,OIDN"), 0);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/lightmapping/denoising/denoiser", PROPERTY_HINT_ENUM, "JNLM,OIDN"), 0);
|
||||||
#ifndef _3D_DISABLED
|
#ifndef _3D_DISABLED
|
||||||
|
|
|
@ -122,8 +122,10 @@ int AudioDriver::_get_configured_mix_rate() {
|
||||||
|
|
||||||
// In the case of invalid mix rate, let's default to a sensible value..
|
// In the case of invalid mix rate, let's default to a sensible value..
|
||||||
if (mix_rate <= 0) {
|
if (mix_rate <= 0) {
|
||||||
|
#ifndef WEB_ENABLED
|
||||||
WARN_PRINT(vformat("Invalid mix rate of %d, consider reassigning setting \'%s\'. \nDefaulting mix rate to value %d.",
|
WARN_PRINT(vformat("Invalid mix rate of %d, consider reassigning setting \'%s\'. \nDefaulting mix rate to value %d.",
|
||||||
mix_rate, audio_driver_setting, AudioDriverManager::DEFAULT_MIX_RATE));
|
mix_rate, audio_driver_setting, AudioDriverManager::DEFAULT_MIX_RATE));
|
||||||
|
#endif
|
||||||
mix_rate = AudioDriverManager::DEFAULT_MIX_RATE;
|
mix_rate = AudioDriverManager::DEFAULT_MIX_RATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -199,8 +201,8 @@ int AudioDriverManager::get_driver_count() {
|
||||||
|
|
||||||
void AudioDriverManager::initialize(int p_driver) {
|
void AudioDriverManager::initialize(int p_driver) {
|
||||||
GLOBAL_DEF_RST("audio/driver/enable_input", false);
|
GLOBAL_DEF_RST("audio/driver/enable_input", false);
|
||||||
GLOBAL_DEF_RST("audio/driver/mix_rate", DEFAULT_MIX_RATE);
|
GLOBAL_DEF_RST(PropertyInfo(Variant::INT, "audio/driver/mix_rate", PROPERTY_HINT_RANGE, "11025,192000,1,or_greater,suffix:Hz"), DEFAULT_MIX_RATE);
|
||||||
GLOBAL_DEF_RST("audio/driver/mix_rate.web", 0); // Safer default output_latency for web (use browser default).
|
GLOBAL_DEF_RST(PropertyInfo(Variant::INT, "audio/driver/mix_rate.web", PROPERTY_HINT_RANGE, "0,192000,1,or_greater,suffix:Hz"), 0); // Safer default output_latency for web (use browser default).
|
||||||
|
|
||||||
int failed_driver = -1;
|
int failed_driver = -1;
|
||||||
|
|
||||||
|
|
|
@ -213,12 +213,12 @@ NavigationServer3D::NavigationServer3D() {
|
||||||
ERR_FAIL_COND(singleton != nullptr);
|
ERR_FAIL_COND(singleton != nullptr);
|
||||||
singleton = this;
|
singleton = this;
|
||||||
|
|
||||||
GLOBAL_DEF_BASIC("navigation/2d/default_cell_size", 1.0);
|
GLOBAL_DEF_BASIC(PropertyInfo(Variant::FLOAT, "navigation/2d/default_cell_size", PROPERTY_HINT_RANGE, "0.001,100,0.001,or_greater"), 1.0);
|
||||||
GLOBAL_DEF("navigation/2d/use_edge_connections", true);
|
GLOBAL_DEF("navigation/2d/use_edge_connections", true);
|
||||||
GLOBAL_DEF_BASIC("navigation/2d/default_edge_connection_margin", 1.0);
|
GLOBAL_DEF_BASIC("navigation/2d/default_edge_connection_margin", 1.0);
|
||||||
GLOBAL_DEF_BASIC("navigation/2d/default_link_connection_radius", 4.0);
|
GLOBAL_DEF_BASIC("navigation/2d/default_link_connection_radius", 4.0);
|
||||||
|
|
||||||
GLOBAL_DEF_BASIC("navigation/3d/default_cell_size", 0.25);
|
GLOBAL_DEF_BASIC(PropertyInfo(Variant::FLOAT, "navigation/3d/default_cell_size", PROPERTY_HINT_RANGE, "0.001,100,0.001,or_greater"), 0.25);
|
||||||
GLOBAL_DEF_BASIC("navigation/3d/default_cell_height", 0.25);
|
GLOBAL_DEF_BASIC("navigation/3d/default_cell_height", 0.25);
|
||||||
GLOBAL_DEF("navigation/3d/default_up", Vector3(0, 1, 0));
|
GLOBAL_DEF("navigation/3d/default_up", Vector3(0, 1, 0));
|
||||||
GLOBAL_DEF("navigation/3d/use_edge_connections", true);
|
GLOBAL_DEF("navigation/3d/use_edge_connections", true);
|
||||||
|
|
|
@ -3471,15 +3471,15 @@ void RenderingServer::init() {
|
||||||
GLOBAL_DEF("rendering/shader_compiler/shader_cache/strip_debug", false);
|
GLOBAL_DEF("rendering/shader_compiler/shader_cache/strip_debug", false);
|
||||||
GLOBAL_DEF("rendering/shader_compiler/shader_cache/strip_debug.release", true);
|
GLOBAL_DEF("rendering/shader_compiler/shader_cache/strip_debug.release", true);
|
||||||
|
|
||||||
GLOBAL_DEF_RST("rendering/reflections/sky_reflections/roughness_layers", 8); // Assumes a 256x256 cubemap
|
GLOBAL_DEF_RST(PropertyInfo(Variant::INT, "rendering/reflections/sky_reflections/roughness_layers", PROPERTY_HINT_RANGE, "1,32,1"), 8); // Assumes a 256x256 cubemap
|
||||||
GLOBAL_DEF_RST("rendering/reflections/sky_reflections/texture_array_reflections", true);
|
GLOBAL_DEF_RST("rendering/reflections/sky_reflections/texture_array_reflections", true);
|
||||||
GLOBAL_DEF("rendering/reflections/sky_reflections/texture_array_reflections.mobile", false);
|
GLOBAL_DEF("rendering/reflections/sky_reflections/texture_array_reflections.mobile", false);
|
||||||
GLOBAL_DEF_RST("rendering/reflections/sky_reflections/ggx_samples", 32);
|
GLOBAL_DEF_RST(PropertyInfo(Variant::INT, "rendering/reflections/sky_reflections/ggx_samples", PROPERTY_HINT_RANGE, "0,256,1"), 32);
|
||||||
GLOBAL_DEF("rendering/reflections/sky_reflections/ggx_samples.mobile", 16);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/reflections/sky_reflections/ggx_samples.mobile", PROPERTY_HINT_RANGE, "0,128,1"), 16);
|
||||||
GLOBAL_DEF("rendering/reflections/sky_reflections/fast_filter_high_quality", false);
|
GLOBAL_DEF("rendering/reflections/sky_reflections/fast_filter_high_quality", false);
|
||||||
GLOBAL_DEF("rendering/reflections/reflection_atlas/reflection_size", 256);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/reflections/reflection_atlas/reflection_size", PROPERTY_HINT_RANGE, "0,4096,1"), 256);
|
||||||
GLOBAL_DEF("rendering/reflections/reflection_atlas/reflection_size.mobile", 128);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/reflections/reflection_atlas/reflection_size.mobile", PROPERTY_HINT_RANGE, "0,2048,1"), 128);
|
||||||
GLOBAL_DEF("rendering/reflections/reflection_atlas/reflection_count", 64);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/reflections/reflection_atlas/reflection_count", PROPERTY_HINT_RANGE, "0,256,1"), 64);
|
||||||
|
|
||||||
GLOBAL_DEF("rendering/global_illumination/gi/use_half_resolution", false);
|
GLOBAL_DEF("rendering/global_illumination/gi/use_half_resolution", false);
|
||||||
|
|
||||||
|
@ -3526,7 +3526,7 @@ void RenderingServer::init() {
|
||||||
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/textures/decals/filter", PROPERTY_HINT_ENUM, "Nearest (Fast),Linear (Fast),Nearest Mipmap (Fast),Linear Mipmap (Fast),Nearest Mipmap Anisotropic (Average),Linear Mipmap Anisotropic (Average)"), DECAL_FILTER_LINEAR_MIPMAPS);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/textures/decals/filter", PROPERTY_HINT_ENUM, "Nearest (Fast),Linear (Fast),Nearest Mipmap (Fast),Linear Mipmap (Fast),Nearest Mipmap Anisotropic (Average),Linear Mipmap Anisotropic (Average)"), DECAL_FILTER_LINEAR_MIPMAPS);
|
||||||
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/textures/light_projectors/filter", PROPERTY_HINT_ENUM, "Nearest (Fast),Linear (Fast),Nearest Mipmap (Fast),Linear Mipmap (Fast),Nearest Mipmap Anisotropic (Average),Linear Mipmap Anisotropic (Average)"), LIGHT_PROJECTOR_FILTER_LINEAR_MIPMAPS);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/textures/light_projectors/filter", PROPERTY_HINT_ENUM, "Nearest (Fast),Linear (Fast),Nearest Mipmap (Fast),Linear Mipmap (Fast),Nearest Mipmap Anisotropic (Average),Linear Mipmap Anisotropic (Average)"), LIGHT_PROJECTOR_FILTER_LINEAR_MIPMAPS);
|
||||||
|
|
||||||
GLOBAL_DEF_RST("rendering/occlusion_culling/occlusion_rays_per_thread", 512);
|
GLOBAL_DEF_RST(PropertyInfo(Variant::INT, "rendering/occlusion_culling/occlusion_rays_per_thread", PROPERTY_HINT_RANGE, "1,2048,1,or_greater"), 512);
|
||||||
|
|
||||||
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/environment/glow/upscale_mode", PROPERTY_HINT_ENUM, "Linear (Fast),Bicubic (Slow)"), 1);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/environment/glow/upscale_mode", PROPERTY_HINT_ENUM, "Linear (Fast),Bicubic (Slow)"), 1);
|
||||||
GLOBAL_DEF("rendering/environment/glow/upscale_mode.mobile", 0);
|
GLOBAL_DEF("rendering/environment/glow/upscale_mode.mobile", 0);
|
||||||
|
@ -3537,7 +3537,7 @@ void RenderingServer::init() {
|
||||||
GLOBAL_DEF(PropertyInfo(Variant::FLOAT, "rendering/environment/subsurface_scattering/subsurface_scattering_scale", PROPERTY_HINT_RANGE, "0.001,1,0.001"), 0.05);
|
GLOBAL_DEF(PropertyInfo(Variant::FLOAT, "rendering/environment/subsurface_scattering/subsurface_scattering_scale", PROPERTY_HINT_RANGE, "0.001,1,0.001"), 0.05);
|
||||||
GLOBAL_DEF(PropertyInfo(Variant::FLOAT, "rendering/environment/subsurface_scattering/subsurface_scattering_depth_scale", PROPERTY_HINT_RANGE, "0.001,1,0.001"), 0.01);
|
GLOBAL_DEF(PropertyInfo(Variant::FLOAT, "rendering/environment/subsurface_scattering/subsurface_scattering_depth_scale", PROPERTY_HINT_RANGE, "0.001,1,0.001"), 0.01);
|
||||||
|
|
||||||
GLOBAL_DEF("rendering/limits/global_shader_variables/buffer_size", 65536);
|
GLOBAL_DEF(PropertyInfo(Variant::INT, "rendering/limits/global_shader_variables/buffer_size", PROPERTY_HINT_RANGE, "1,1048576,1"), 65536);
|
||||||
|
|
||||||
GLOBAL_DEF(PropertyInfo(Variant::FLOAT, "rendering/lightmapping/probe_capture/update_speed", PROPERTY_HINT_RANGE, "0.001,256,0.001"), 15);
|
GLOBAL_DEF(PropertyInfo(Variant::FLOAT, "rendering/lightmapping/probe_capture/update_speed", PROPERTY_HINT_RANGE, "0.001,256,0.001"), 15);
|
||||||
GLOBAL_DEF(PropertyInfo(Variant::FLOAT, "rendering/lightmapping/primitive_meshes/texel_size", PROPERTY_HINT_RANGE, "0.001,100,0.001"), 0.2);
|
GLOBAL_DEF(PropertyInfo(Variant::FLOAT, "rendering/lightmapping/primitive_meshes/texel_size", PROPERTY_HINT_RANGE, "0.001,100,0.001"), 0.2);
|
||||||
|
|
Loading…
Reference in New Issue