ソースを参照

Merge pull request #35463 from Chaosus/shader_gles2_completion

Hides high-level functions from GLES2 shader autocompletion
Rémi Verschelde 5 年 前
コミット
e7947c81d6
1 ファイル変更16 行追加1 行削除
  1. 16 1
      servers/visual/shader_language.cpp

+ 16 - 1
servers/visual/shader_language.cpp

@@ -5602,17 +5602,26 @@ Error ShaderLanguage::complete(const String &p_code, const Map<StringName, Funct
 				}
 
 				int idx = 0;
+				bool low_end = VisualServer::get_singleton()->is_low_end();
 
 				while (builtin_func_defs[idx].name) {
-
+					if (low_end && builtin_func_defs[idx].high_end) {
+						idx++;
+						continue;
+					}
 					matches.insert(String(builtin_func_defs[idx].name), ScriptCodeCompletionOption::KIND_FUNCTION);
 					idx++;
 				}
 
 			} else { // sub-class
 				int idx = 0;
+				bool low_end = VisualServer::get_singleton()->is_low_end();
 
 				while (builtin_func_defs[idx].name) {
+					if (low_end && builtin_func_defs[idx].high_end) {
+						idx++;
+						continue;
+					}
 					if (builtin_func_defs[idx].tag == completion_class) {
 						matches.insert(String(builtin_func_defs[idx].name), ScriptCodeCompletionOption::KIND_FUNCTION);
 					}
@@ -5676,9 +5685,15 @@ Error ShaderLanguage::complete(const String &p_code, const Map<StringName, Funct
 			int idx = 0;
 
 			String calltip;
+			bool low_end = VisualServer::get_singleton()->is_low_end();
 
 			while (builtin_func_defs[idx].name) {
 
+				if (low_end && builtin_func_defs[idx].high_end) {
+					idx++;
+					continue;
+				}
+
 				if (completion_function == builtin_func_defs[idx].name) {
 
 					if (builtin_func_defs[idx].tag != completion_class) {