diff options
author | Yuri Roubinsky <chaosus89@gmail.com> | 2020-12-16 20:13:56 +0300 |
---|---|---|
committer | Yuri Roubinsky <chaosus89@gmail.com> | 2020-12-17 11:51:18 +0300 |
commit | fe4c8e387b36a7ee4b931142004bd342d173cf8f (patch) | |
tree | 4ac15a3fa9a97ba65619aa02410d94c798695876 /servers/rendering/renderer_rd/shader_compiler_rd.cpp | |
parent | 9e49dbda2a145165269f07bc4f621211c695de52 (diff) | |
download | redot-engine-fe4c8e387b36a7ee4b931142004bd342d173cf8f.tar.gz |
Added support for constants in shader `case` and array size declaration
Diffstat (limited to 'servers/rendering/renderer_rd/shader_compiler_rd.cpp')
-rw-r--r-- | servers/rendering/renderer_rd/shader_compiler_rd.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/servers/rendering/renderer_rd/shader_compiler_rd.cpp b/servers/rendering/renderer_rd/shader_compiler_rd.cpp index 2c1d2a84fd..c6ea906ea9 100644 --- a/servers/rendering/renderer_rd/shader_compiler_rd.cpp +++ b/servers/rendering/renderer_rd/shader_compiler_rd.cpp @@ -930,7 +930,11 @@ String ShaderCompilerRD::_dump_node_code(const SL::Node *p_node, int p_level, Ge } declaration += _mkid(adnode->declarations[i].name); declaration += "["; - declaration += itos(adnode->declarations[i].size); + if (adnode->size_expression != nullptr) { + declaration += _dump_node_code(adnode->size_expression, p_level, r_gen_code, p_actions, p_default_actions, p_assigning); + } else { + declaration += itos(adnode->declarations[i].size); + } declaration += "]"; int sz = adnode->declarations[i].initializer.size(); if (sz > 0) { |