summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_rd/shader_compiler_rd.cpp
diff options
context:
space:
mode:
authorYuri Roubinsky <chaosus89@gmail.com>2021-08-08 08:04:20 +0300
committerYuri Roubinsky <chaosus89@gmail.com>2021-12-08 11:34:40 +0300
commit76f6c0849c35ba1a3993b91892a977a5504e6f28 (patch)
treefae61763bf084ab0f5cf1d357d144cf8a3402907 /servers/rendering/renderer_rd/shader_compiler_rd.cpp
parentff118d7a88f56bce1f35a0c700521b0c63cec32c (diff)
downloadredot-engine-76f6c0849c35ba1a3993b91892a977a5504e6f28.tar.gz
Make `compile` shader function to use struct instead long parameter list
Diffstat (limited to 'servers/rendering/renderer_rd/shader_compiler_rd.cpp')
-rw-r--r--servers/rendering/renderer_rd/shader_compiler_rd.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/servers/rendering/renderer_rd/shader_compiler_rd.cpp b/servers/rendering/renderer_rd/shader_compiler_rd.cpp
index b02b3d2723..794c999d1d 100644
--- a/servers/rendering/renderer_rd/shader_compiler_rd.cpp
+++ b/servers/rendering/renderer_rd/shader_compiler_rd.cpp
@@ -1413,7 +1413,13 @@ ShaderLanguage::DataType ShaderCompilerRD::_get_variable_type(const StringName &
}
Error ShaderCompilerRD::compile(RS::ShaderMode p_mode, const String &p_code, IdentifierActions *p_actions, const String &p_path, GeneratedCode &r_gen_code) {
- Error err = parser.compile(p_code, ShaderTypes::get_singleton()->get_functions(p_mode), ShaderTypes::get_singleton()->get_modes(p_mode), ShaderLanguage::VaryingFunctionNames(), ShaderTypes::get_singleton()->get_types(), _get_variable_type);
+ SL::ShaderCompileInfo info;
+ info.functions = ShaderTypes::get_singleton()->get_functions(p_mode);
+ info.render_modes = ShaderTypes::get_singleton()->get_modes(p_mode);
+ info.shader_types = ShaderTypes::get_singleton()->get_types();
+ info.global_variable_type_func = _get_variable_type;
+
+ Error err = parser.compile(p_code, info);
if (err != OK) {
Vector<String> shader = p_code.split("\n");