aboutsummaryrefslogtreecommitdiff
path: root/drivers/gles3/shader_compiler_gles3.cpp
diff options
context:
space:
mode:
authorJuan Linietsky2016-11-09 23:55:06 -0300
committerJuan Linietsky2016-11-09 23:55:06 -0300
commitcacf9ebb7fd8df8845daca9da2fe55456cc179aa (patch)
tree5881cb42ace5001916e9d1843f5a7acbc35332a6 /drivers/gles3/shader_compiler_gles3.cpp
parent6b2a27bbe5fa112365fc88b9b4678a61293bcb53 (diff)
downloadgodot-cacf9ebb7fd8df8845daca9da2fe55456cc179aa.tar.gz
godot-cacf9ebb7fd8df8845daca9da2fe55456cc179aa.tar.zst
godot-cacf9ebb7fd8df8845daca9da2fe55456cc179aa.zip
Diffstat (limited to 'drivers/gles3/shader_compiler_gles3.cpp')
-rw-r--r--drivers/gles3/shader_compiler_gles3.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/gles3/shader_compiler_gles3.cpp b/drivers/gles3/shader_compiler_gles3.cpp
index 0dff53bfb..dce52ecd9 100644
--- a/drivers/gles3/shader_compiler_gles3.cpp
+++ b/drivers/gles3/shader_compiler_gles3.cpp
@@ -330,6 +330,7 @@ String ShaderCompilerGLES3::_dump_node_code(SL::Node *p_node, int p_level, Gener
SL::FunctionNode *fnode=pnode->functions[i].function;
+ current_func_name=fnode->name;
if (fnode->name=="vertex") {
@@ -401,6 +402,14 @@ String ShaderCompilerGLES3::_dump_node_code(SL::Node *p_node, int p_level, Gener
else
code=_mkid(vnode->name);
+ if (vnode->name==time_name) {
+ if (current_func_name==vertex_name) {
+ r_gen_code.uses_vertex_time=true;
+ }
+ if (current_func_name==fragment_name) {
+ r_gen_code.uses_fragment_time=true;
+ }
+ }
} break;
case SL::Node::TYPE_CONSTANT: {
@@ -536,6 +545,8 @@ Error ShaderCompilerGLES3::compile(VS::ShaderMode p_mode, const String& p_code,
r_gen_code.fragment=String();
r_gen_code.fragment_global=String();
r_gen_code.light=String();
+ r_gen_code.uses_fragment_time=false;
+ r_gen_code.uses_vertex_time=false;
@@ -645,7 +656,9 @@ ShaderCompilerGLES3::ShaderCompilerGLES3() {
-
+ vertex_name="vertex";
+ fragment_name="fragment";
+ time_name="TIME";