diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2019-06-12 14:26:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-12 14:26:45 +0200 |
commit | c8db517993875352a668d87d7e95e1a9e82ccee7 (patch) | |
tree | 6276cb831d5ecc28104c720dbff96199b9273895 /drivers/gles2/shader_compiler_gles2.cpp | |
parent | df2567923551132c4835192bd856ecf07af1fe51 (diff) | |
parent | c2d4abf62e3673c976adfef06ef34852d4dce248 (diff) |
Merge pull request #29316 from Chaosus/shader_const
Added constant support to shaders
Diffstat (limited to 'drivers/gles2/shader_compiler_gles2.cpp')
-rw-r--r-- | drivers/gles2/shader_compiler_gles2.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gles2/shader_compiler_gles2.cpp b/drivers/gles2/shader_compiler_gles2.cpp index 9778d39a21..b48b93944c 100644 --- a/drivers/gles2/shader_compiler_gles2.cpp +++ b/drivers/gles2/shader_compiler_gles2.cpp @@ -361,6 +361,21 @@ String ShaderCompilerGLES2::_dump_node_code(SL::Node *p_node, int p_level, Gener fragment_global += final_code; } + // constants + + for (Map<StringName, SL::ShaderNode::Constant>::Element *E = snode->constants.front(); E; E = E->next()) { + String gcode; + gcode += "const "; + gcode += _prestr(E->get().precision); + gcode += _typestr(E->get().type); + gcode += " " + _mkid(E->key()); + gcode += "="; + gcode += _dump_node_code(E->get().initializer, p_level, r_gen_code, p_actions, p_default_actions, p_assigning); + gcode += ";\n"; + vertex_global += gcode; + fragment_global += gcode; + } + // functions Map<StringName, String> function_code; |