From f00b52270503de8bebc01f5bd8e813f54ee9b62c Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Sat, 10 Nov 2018 10:48:18 -0300 Subject: [PATCH] Avoid double underscore from breaking glsl compiler, fixes #12880 --- drivers/gles2/shader_compiler_gles2.cpp | 7 ++----- drivers/gles3/shader_compiler_gles3.cpp | 3 ++- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/gles2/shader_compiler_gles2.cpp b/drivers/gles2/shader_compiler_gles2.cpp index 082c5204803..723c44f2f66 100644 --- a/drivers/gles2/shader_compiler_gles2.cpp +++ b/drivers/gles2/shader_compiler_gles2.cpp @@ -80,11 +80,8 @@ static String _opstr(SL::Operator p_op) { static String _mkid(const String &p_id) { - StringBuffer<> id; - id += "m_"; - id += p_id; - - return id.as_string(); + String id = "m_" + p_id; + return id.replace("__", "_dus_"); //doubleunderscore is reserverd in glsl } static String f2sp0(float p_float) { diff --git a/drivers/gles3/shader_compiler_gles3.cpp b/drivers/gles3/shader_compiler_gles3.cpp index be36b41417d..03619b941c1 100644 --- a/drivers/gles3/shader_compiler_gles3.cpp +++ b/drivers/gles3/shader_compiler_gles3.cpp @@ -167,7 +167,8 @@ static String _opstr(SL::Operator p_op) { static String _mkid(const String &p_id) { - return "m_" + p_id; + String id = "m_" + p_id; + return id.replace("__", "_dus_"); //doubleunderscore is reserverd in glsl } static String f2sp0(float p_float) {