Merge pull request #68808 from CherrySodaPop/global-instance-uniform
This commit is contained in:
commit
e8f9cd8ac5
1 changed files with 16 additions and 14 deletions
|
@ -8190,25 +8190,27 @@ Error ShaderLanguage::_parse_shader(const HashMap<StringName, FunctionInfo> &p_f
|
|||
};
|
||||
[[fallthrough]];
|
||||
case TK_INSTANCE: {
|
||||
if (tk.type == TK_INSTANCE) {
|
||||
#ifdef DEBUG_ENABLED
|
||||
keyword_completion_context = CF_UNIFORM_KEYWORD;
|
||||
if (_lookup_next(next)) {
|
||||
if (next.type == TK_UNIFORM) {
|
||||
keyword_completion_context ^= CF_UNIFORM_KEYWORD;
|
||||
keyword_completion_context = CF_UNIFORM_KEYWORD;
|
||||
if (_lookup_next(next)) {
|
||||
if (next.type == TK_UNIFORM) {
|
||||
keyword_completion_context ^= CF_UNIFORM_KEYWORD;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // DEBUG_ENABLED
|
||||
if (String(shader_type_identifier) != "spatial") {
|
||||
_set_error(vformat(RTR("Uniform instances are not yet implemented for '%s' shaders."), shader_type_identifier));
|
||||
return ERR_PARSE_ERROR;
|
||||
}
|
||||
if (uniform_scope == ShaderNode::Uniform::SCOPE_LOCAL) {
|
||||
tk = _get_token();
|
||||
if (tk.type != TK_UNIFORM) {
|
||||
_set_expected_after_error("uniform", "instance");
|
||||
if (String(shader_type_identifier) != "spatial") {
|
||||
_set_error(vformat(RTR("Uniform instances are not yet implemented for '%s' shaders."), shader_type_identifier));
|
||||
return ERR_PARSE_ERROR;
|
||||
}
|
||||
uniform_scope = ShaderNode::Uniform::SCOPE_INSTANCE;
|
||||
if (uniform_scope == ShaderNode::Uniform::SCOPE_LOCAL) {
|
||||
tk = _get_token();
|
||||
if (tk.type != TK_UNIFORM) {
|
||||
_set_expected_after_error("uniform", "instance");
|
||||
return ERR_PARSE_ERROR;
|
||||
}
|
||||
uniform_scope = ShaderNode::Uniform::SCOPE_INSTANCE;
|
||||
}
|
||||
}
|
||||
};
|
||||
[[fallthrough]];
|
||||
|
|
Loading…
Reference in a new issue