diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2021-12-01 18:02:12 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-01 18:02:12 +0100 |
commit | b9d877e55fc469e7441cb00856359946b91d00ff (patch) | |
tree | 67f8ecaf6fa018dcc2d1f67ee6a394598ccac74f /servers/rendering | |
parent | dc4b8f8487f0fd3763fc7bfbeffee7bb69ea16be (diff) | |
parent | 5ee73dc5a6302c3ed6a770bffbb11d5a8dd3122b (diff) |
Merge pull request #55515 from Chaosus/shader_fix_struct_name
Diffstat (limited to 'servers/rendering')
-rw-r--r-- | servers/rendering/shader_language.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/servers/rendering/shader_language.cpp b/servers/rendering/shader_language.cpp index 0197047b04..052b1d6d9f 100644 --- a/servers/rendering/shader_language.cpp +++ b/servers/rendering/shader_language.cpp @@ -7502,7 +7502,7 @@ Error ShaderLanguage::_parse_shader(const Map<StringName, FunctionInfo> &p_funct tk = _get_token(); if (tk.type == TK_IDENTIFIER) { st.name = tk.text; - if (shader->structs.has(st.name)) { + if (shader->constants.has(st.name) || shader->structs.has(st.name)) { _set_error("Redefinition of '" + String(st.name) + "'"); return ERR_PARSE_ERROR; } @@ -8212,12 +8212,7 @@ Error ShaderLanguage::_parse_shader(const Map<StringName, FunctionInfo> &p_funct return ERR_PARSE_ERROR; } - if (_find_identifier(nullptr, false, constants, name)) { - _set_error("Redefinition of '" + String(name) + "'"); - return ERR_PARSE_ERROR; - } - - if (has_builtin(p_functions, name)) { + if (shader->structs.has(name) || _find_identifier(nullptr, false, constants, name) || has_builtin(p_functions, name)) { _set_error("Redefinition of '" + String(name) + "'"); return ERR_PARSE_ERROR; } |