From f4c0e90fd94708b26abbe945e131e0b96836b34a Mon Sep 17 00:00:00 2001 From: Yuri Roubinsky Date: Fri, 19 Nov 2021 11:25:23 +0300 Subject: Allow passing non-variable constant to const function param in shaders --- servers/rendering/shader_language.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'servers/rendering/shader_language.cpp') diff --git a/servers/rendering/shader_language.cpp b/servers/rendering/shader_language.cpp index d803d5fcf8..1a994548d8 100644 --- a/servers/rendering/shader_language.cpp +++ b/servers/rendering/shader_language.cpp @@ -4920,7 +4920,9 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons bool error = false; Node *n = func->arguments[argidx]; if (n->type == Node::TYPE_CONSTANT || n->type == Node::TYPE_OPERATOR) { - error = true; + if (!call_function->arguments[i].is_const) { + error = true; + } } else if (n->type == Node::TYPE_ARRAY) { ArrayNode *an = static_cast(n); if (an->call_expression != nullptr || an->is_const) { -- cgit v1.2.3