diff options
| author | Rémi Verschelde | 2017-01-11 10:34:41 +0100 |
|---|---|---|
| committer | GitHub | 2017-01-11 10:34:41 +0100 |
| commit | fde651ebf8786f195cff09f14bf87b721269eb57 (patch) | |
| tree | 0fa0c308ea5c0a866f38eddc8e60afd6694d7786 | |
| parent | 40de567297d4f75b3df85ca1a97a721973fe5851 (diff) | |
| parent | 8589a1b117458fbf834015044bf01ff326897cc6 (diff) | |
| download | godot-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.cpp | 15 |
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); + } } } |
