summaryrefslogtreecommitdiff
path: root/servers/rendering/shader_preprocessor.cpp
diff options
context:
space:
mode:
authorYuri Rubinsky <chaosus89@gmail.com>2023-01-28 09:54:41 +0300
committerGitHub <noreply@github.com>2023-01-28 09:54:41 +0300
commit2afa175195d0fc885badb60441bef1b31e5e6d05 (patch)
tree6b797d7d15e06ac36f910c0c765365672c261a44 /servers/rendering/shader_preprocessor.cpp
parenta43db5afa4bbec4772be2f296931a6d44bb4cbb3 (diff)
parent0acaccebaf3b1dc6445f8a100a1011b89faa4216 (diff)
Merge pull request #72174 from bitsawer/shader_include_fixes
Close undefined Fix undefined
Diffstat (limited to 'servers/rendering/shader_preprocessor.cpp')
-rw-r--r--servers/rendering/shader_preprocessor.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/servers/rendering/shader_preprocessor.cpp b/servers/rendering/shader_preprocessor.cpp
index 816d937e9f..b45a7c0db3 100644
--- a/servers/rendering/shader_preprocessor.cpp
+++ b/servers/rendering/shader_preprocessor.cpp
@@ -674,6 +674,11 @@ void ShaderPreprocessor::process_include(Tokenizer *p_tokenizer) {
return;
}
+ path = path.simplify_path();
+ if (path.is_relative_path()) {
+ path = state->current_filename.get_base_dir().path_join(path);
+ }
+
Ref<Resource> res = ResourceLoader::load(path);
if (res.is_null()) {
set_error(RTR("Shader include load failed. Does the shader include exist? Is there a cyclic dependency?"), line);