diff options
| author | Rémi Verschelde | 2017-09-24 16:02:08 +0200 |
|---|---|---|
| committer | GitHub | 2017-09-24 16:02:08 +0200 |
| commit | a4fe784752770324c09d4745adf001756c4e1e93 (patch) | |
| tree | 949494747f593531bcfd0abfcd55c0912b117f4c | |
| parent | ebaf2d89e9d3548dec3408ebc943f98a1f4466ad (diff) | |
| parent | d0c42da961e87b936ad3f82fd45ac6f577a99e6b (diff) | |
| download | godot-a4fe784752770324c09d4745adf001756c4e1e93.tar.gz godot-a4fe784752770324c09d4745adf001756c4e1e93.tar.zst godot-a4fe784752770324c09d4745adf001756c4e1e93.zip | |
Merge pull request #11532 from GiantBlargg/master
Discarding now works in shaders
Diffstat (limited to '')
| -rw-r--r-- | servers/visual/shader_language.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/servers/visual/shader_language.cpp b/servers/visual/shader_language.cpp index ec3337686..595decb52 100644 --- a/servers/visual/shader_language.cpp +++ b/servers/visual/shader_language.cpp @@ -267,6 +267,7 @@ const ShaderLanguage::KeyWord ShaderLanguage::keyword_list[] = { { TK_CF_BREAK, "break" }, { TK_CF_CONTINUE, "continue" }, { TK_CF_RETURN, "return" }, + { TK_CF_DISCARD, "discard" }, { TK_UNIFORM, "uniform" }, { TK_VARYING, "varying" }, { TK_ARG_IN, "in" }, @@ -3804,6 +3805,10 @@ Error ShaderLanguage::_parse_shader(const Map<StringName, FunctionInfo> &p_funct func_node->return_type = type; func_node->return_precision = precision; + if (p_functions.has(name)) { + func_node->can_discard = p_functions[name].can_discard; + } + func_node->body = alloc_node<BlockNode>(); func_node->body->parent_function = func_node; |
