### Godot version

v4.0.beta15.official [4fa6edc88]

### System information

Windows 10 (10.0.19045 Build 19045) | Forward+ | Vulkan API 1.3.206 | AMD Radeon RX 6800 XT

### Issue description

If there is a function with arguments within a `.gdshaderinc` file, then this function can not be used in other shaders that include this via a relative include. The error in the other shaders is "Too many arguments for "example()" call. Expected at most 0 but received 1". Using an absolute path for the include resolves the error.

**Note:** The relative include *does* work in the special case of both files being in the project root.

### Steps to reproduce

1. Put a shader and a shader-include file into a subdirectory
2. Write a function with arguments in the shader-include file
3. Include that file in the shader
4. Try to use the function

### Minimal reproduction project

[shader-include-bug.zip](https://github.com/godotengine/godot/files/10508745/shader-include-bug.zip)

FindReplaceBar *bar = memnew(FindReplaceBar);
	main_container->add_child(bar);
	bar->hide();
	shader_editor->set_find_replace_bar(bar);
	warnings_panel = memnew(RichTextLabel);
	warnings_panel->set_custom_minimum_size(Size2(0, 100 * EDSCALE));
	warnings_panel->set_h_size_flags(SIZE_EXPAND_FILL);
	warnings_panel->set_meta_underline(true);
	warnings_panel->set_selection_enabled(true);
	warnings_panel->set_focus_mode(FOCUS_CLICK);
	warnings_panel->hide();
	warnings_panel->connect("meta_clicked", callable_mp(this, &TextShaderEditor::_warning_clicked));
	editor_box->add_child(warnings_panel);
	shader_editor->set_warnings_panel(warnings_panel);
	goto_line_dialog = memnew(GotoLineDialog);
	add_child(goto_line_dialog);
	disk_changed = memnew(ConfirmationDialog);
	VBoxContainer *vbc = memnew(VBoxContainer);
	disk_changed->add_child(vbc);
	Label *dl = memnew(Label);
	dl->set_text(TTR("This shader has been modified on disk.\nWhat action should be taken?"));
	vbc->add_child(dl);
	disk_changed->connect("confirmed", callable_mp(this, &TextShaderEditor::_reload));
	disk_changed->set_ok_button_text(TTR("Reload"));
	disk_changed->add_button(TTR("Resave"), !DisplayServer::get_singleton()->get_swap_cancel_ok(), "resave");
	disk_changed->connect("custom_action", callable_mp(this, &TextShaderEditor::save_external_data));
	add_child(disk_changed);
	_editor_settings_changed();
}