### 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
shader = RenderingServer::get_singleton()->shader_create();
}
Shader::~Shader() {
	ERR_FAIL_NULL(RenderingServer::get_singleton());
	RenderingServer::get_singleton()->free(shader);
}
Ref<Resource> ResourceFormatLoaderShader::load(const String &p_path, const String &p_original_path, Error *r_error, bool p_use_sub_threads, float *r_progress, CacheMode p_cache_mode) {
	if (r_error) {
		*r_error = ERR_FILE_CANT_OPEN;
	}
	Ref<Shader> shader;
	shader.instantiate();
	Vector<uint8_t> buffer = FileAccess::get_file_as_bytes(p_path);
	String str;
	str.parse_utf8((const char *)buffer.ptr(), buffer.size());
	shader->set_include_path(p_path);
	shader->set_code(str);
	if (r_error) {
		*r_error = OK;
	}
	return shader;
}
void ResourceFormatLoaderShader::get_recognized_extensions(List<String> *p_extensions) const {
	p_extensions->push_back("gdshader");
}
bool ResourceFormatLoaderShader::handles_type(const String &p_type) const {
	return (p_type == "Shader");
}
String ResourceFormatLoaderShader::get_resource_type(const String &p_path) const {