Преглед на файлове

Avoid double underscore from breaking glsl compiler, fixes #12880

Juan Linietsky преди 6 години
родител
ревизия
f00b522705
променени са 2 файла, в които са добавени 4 реда и са изтрити 6 реда
  1. 2 5
      drivers/gles2/shader_compiler_gles2.cpp
  2. 2 1
      drivers/gles3/shader_compiler_gles3.cpp

+ 2 - 5
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) {

+ 2 - 1
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) {