From 3473a195fcf07646afdd24d635c1e616912d007c Mon Sep 17 00:00:00 2001
From: Yuri Roubinsky <chaosus89@gmail.com>
Date: Thu, 23 Jan 2020 12:41:21 +0300
Subject: [PATCH] Hides high-level functions from GLES2 shader autocompletion

---
 servers/visual/shader_language.cpp | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/servers/visual/shader_language.cpp b/servers/visual/shader_language.cpp
index 988e0a85221..d3ecdf4e596 100644
--- a/servers/visual/shader_language.cpp
+++ b/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) {