summaryrefslogtreecommitdiff
path: root/servers/rendering/renderer_rd/shader_compiler_rd.cpp
diff options
context:
space:
mode:
authorYuri Roubinsky <chaosus89@gmail.com>2020-12-27 00:55:45 +0300
committerGitHub <noreply@github.com>2020-12-27 00:55:45 +0300
commitfb16b1e39bb9ff7fe2e551bbf6659e8d502f84a7 (patch)
tree8d1dacabbcf828056debd7c75e81dabf3b4b6e2e /servers/rendering/renderer_rd/shader_compiler_rd.cpp
parent6019dab0b45e1291e556e6d9e01b625b5076cc3c (diff)
parentfe4c8e387b36a7ee4b931142004bd342d173cf8f (diff)
Merge pull request #44436 from Chaosus/shader_const_switch
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.cpp6
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) {