aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde2017-01-11 10:34:41 +0100
committerGitHub2017-01-11 10:34:41 +0100
commitfde651ebf8786f195cff09f14bf87b721269eb57 (patch)
tree0fa0c308ea5c0a866f38eddc8e60afd6694d7786
parent40de567297d4f75b3df85ca1a97a721973fe5851 (diff)
parent8589a1b117458fbf834015044bf01ff326897cc6 (diff)
downloadgodot-fde651ebf8786f195cff09f14bf87b721269eb57.tar.gz
godot-fde651ebf8786f195cff09f14bf87b721269eb57.tar.zst
godot-fde651ebf8786f195cff09f14bf87b721269eb57.zip
Merge pull request #7495 from RandomShaper/more-uniform-reuse-fix
More uniform reuse fix (2.1)
-rw-r--r--drivers/gles2/shader_compiler_gles2.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/gles2/shader_compiler_gles2.cpp b/drivers/gles2/shader_compiler_gles2.cpp
index d4636ed44..d5d44bf75 100644
--- a/drivers/gles2/shader_compiler_gles2.cpp
+++ b/drivers/gles2/shader_compiler_gles2.cpp
@@ -571,15 +571,12 @@ Error ShaderCompilerGLES2::compile_node(SL::ProgramNode *p_program) {
global_code+=uline;
if (uniforms) {
- //if (uniforms->has(E->key())) {
- // //repeated uniform, error
- // ERR_EXPLAIN("Uniform already exists from other shader: "+String(E->key()));
- // ERR_FAIL_COND_V(uniforms->has(E->key()),ERR_ALREADY_EXISTS);
-//
-// }
- SL::Uniform u = E->get();
- u.order+=ubase;
- uniforms->insert(E->key(),u);
+ // Check to avoid uniforms with the same name being re-added to avoid overwriting entries
+ if (!uniforms->has(E->key())) {
+ SL::Uniform u = E->get();
+ u.order+=ubase;
+ uniforms->insert(E->key(),u);
+ }
}
}