diff options
author | Juan Linietsky <reduzio@gmail.com> | 2023-04-25 00:21:32 +0200 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2023-04-30 20:01:26 +0200 |
commit | 1c93606e470f0cad5f14af104ccb89a95a89931c (patch) | |
tree | fad6e8c9e15c3a3a211d4b2fff98a4e81a5ae2ca /servers/rendering_server.cpp | |
parent | 14c582bca81046fdde35e16088ddfd5df0136d56 (diff) | |
download | redot-engine-1c93606e470f0cad5f14af104ccb89a95a89931c.tar.gz |
Add ValidatedCall to MethodBind
* This should optimize GDScript function calling _enormously_.
* It also should simplify the GDScript VM considerably.
NOTE: GDExtension calling performance has most likely been affected until going via ptrcall is fixed.
Diffstat (limited to 'servers/rendering_server.cpp')
-rw-r--r-- | servers/rendering_server.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/servers/rendering_server.cpp b/servers/rendering_server.cpp index cc09825298..49617155cf 100644 --- a/servers/rendering_server.cpp +++ b/servers/rendering_server.cpp @@ -2716,7 +2716,7 @@ void RenderingServer::_bind_methods() { ClassDB::bind_method(D_METHOD("global_shader_parameter_add", "name", "type", "default_value"), &RenderingServer::global_shader_parameter_add); ClassDB::bind_method(D_METHOD("global_shader_parameter_remove", "name"), &RenderingServer::global_shader_parameter_remove); - ClassDB::bind_method(D_METHOD("global_shader_parameter_get_list"), &RenderingServer::global_shader_parameter_get_list); + ClassDB::bind_method(D_METHOD("global_shader_parameter_get_list"), &RenderingServer::_global_shader_parameter_get_list); ClassDB::bind_method(D_METHOD("global_shader_parameter_set", "name", "value"), &RenderingServer::global_shader_parameter_set); ClassDB::bind_method(D_METHOD("global_shader_parameter_set_override", "name", "value"), &RenderingServer::global_shader_parameter_set_override); ClassDB::bind_method(D_METHOD("global_shader_parameter_get", "name"), &RenderingServer::global_shader_parameter_get); @@ -2855,6 +2855,16 @@ RenderingServer::RenderingServer() { singleton = this; } +TypedArray<StringName> RenderingServer::_global_shader_parameter_get_list() const { + TypedArray<StringName> gsp; + Vector<StringName> gsp_sn = global_shader_parameter_get_list(); + gsp.resize(gsp_sn.size()); + for (int i = 0; i < gsp_sn.size(); i++) { + gsp[i] = gsp_sn[i]; + } + return gsp; +} + void RenderingServer::init() { GLOBAL_DEF_RST_NOVAL_BASIC("rendering/textures/vram_compression/import_s3tc_bptc", OS::get_singleton()->get_preferred_texture_format() == OS::PREFERRED_TEXTURE_FORMAT_S3TC_BPTC); GLOBAL_DEF_RST_NOVAL_BASIC("rendering/textures/vram_compression/import_etc2_astc", OS::get_singleton()->get_preferred_texture_format() == OS::PREFERRED_TEXTURE_FORMAT_ETC2_ASTC); |