summaryrefslogtreecommitdiff
path: root/servers/rendering
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2021-12-01 18:02:12 +0100
committerGitHub <noreply@github.com>2021-12-01 18:02:12 +0100
commitb9d877e55fc469e7441cb00856359946b91d00ff (patch)
tree67f8ecaf6fa018dcc2d1f67ee6a394598ccac74f /servers/rendering
parentdc4b8f8487f0fd3763fc7bfbeffee7bb69ea16be (diff)
parent5ee73dc5a6302c3ed6a770bffbb11d5a8dd3122b (diff)
Merge pull request #55515 from Chaosus/shader_fix_struct_name
Diffstat (limited to 'servers/rendering')
-rw-r--r--servers/rendering/shader_language.cpp9
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;
}