summaryrefslogtreecommitdiffstats
path: root/servers/rendering_server.cpp
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2023-04-25 00:21:32 +0200
committerJuan Linietsky <reduzio@gmail.com>2023-04-30 20:01:26 +0200
commit1c93606e470f0cad5f14af104ccb89a95a89931c (patch)
treefad6e8c9e15c3a3a211d4b2fff98a4e81a5ae2ca /servers/rendering_server.cpp
parent14c582bca81046fdde35e16088ddfd5df0136d56 (diff)
downloadredot-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.cpp12
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);