summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Roubinski <chaosus89@gmail.com>2019-08-13 09:55:43 +0300
committerYuri Roubinski <chaosus89@gmail.com>2019-08-13 12:31:25 +0300
commit24417f19752f16b6c637db42713f569af39184bf (patch)
treedf0bccf12df1e734954620cf4f4bb093993c9635
parent575e6a2d4aecf5a51c245c5e4bc2f67c05fd6344 (diff)
Force user to initialize local shader constants
-rw-r--r--servers/visual/shader_language.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/servers/visual/shader_language.cpp b/servers/visual/shader_language.cpp
index 5f39d3ff49..c0b503c323 100644
--- a/servers/visual/shader_language.cpp
+++ b/servers/visual/shader_language.cpp
@@ -4022,6 +4022,10 @@ Error ShaderLanguage::_parse_block(BlockNode *p_block, const Map<StringName, Bui
_set_error("Expected array initialization");
return ERR_PARSE_ERROR;
}
+ if (is_const) {
+ _set_error("Expected initialization of constant");
+ return ERR_PARSE_ERROR;
+ }
}
node->declarations.push_back(decl);
@@ -4051,6 +4055,11 @@ Error ShaderLanguage::_parse_block(BlockNode *p_block, const Map<StringName, Bui
tk = _get_token();
node->declarations.push_back(decl);
} else {
+ if (is_const) {
+ _set_error("Expected initialization of constant");
+ return ERR_PARSE_ERROR;
+ }
+
VariableDeclarationNode *node = alloc_node<VariableDeclarationNode>();
node->datatype = type;
node->precision = precision;