### Godot version

4.0.3.stable

### System information

Linux - Godot v4.0.3.stable - Vulkan (Forward+)

### Issue description

Disabling the shader pre-processor with `#pragma disable_preprocessor` causes errors to be displayed about built-ins being unknown. However, the shader will correctly compile and function as normal - the error is only in the shader editor.

Example screenshot:
![Screenshot from 2023-06-20 17-55-20](https://github.com/godotengine/godot/assets/19494722/06c9ea85-1e60-4f8c-8630-bbcfd13685c5)


### Steps to reproduce

1. Open project
2. Open `error-example.gdshader` in shader editor
3. Observe error

### Minimal reproduction project

[godot-4-shader-preprocessor-editor-error-minimal-reproduction-project-main.zip](https://github.com/godotengine/godot/files/11804403/godot-4-shader-preprocessor-editor-error-minimal-reproduction-project-main.zip)

Can also be found at: https://github.com/MenacingMecha/godot-4-shader-preprocessor-editor-error-minimal-reproduction-project
}
	code = p_code;
	String pp_code = p_code;
	{
		String path = get_path();
		if (path.is_empty()) {
			path = include_path;
		}
		
		
		
		HashSet<Ref<ShaderInclude>> new_include_dependencies;
		ShaderPreprocessor preprocessor;
		Error result = preprocessor.preprocess(p_code, path, pp_code, nullptr, nullptr, nullptr, &new_include_dependencies);
		if (result == OK) {
			
			include_dependencies = new_include_dependencies;
		}
	}
	for (const Ref<ShaderInclude> &E : include_dependencies) {
		E->connect(SNAME("changed"), callable_mp(this, &Shader::_dependency_changed));
	}
	RenderingServer::get_singleton()->shader_set_code(shader, pp_code);
	emit_changed();
}
String Shader::get_code() const {
	_update_shader();
	return code;
}
void Shader::get_shader_uniform_list(List<PropertyInfo> *p_params, bool p_get_groups) const {