summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2021-07-20 11:00:17 +0200
committerGitHub <noreply@github.com>2021-07-20 11:00:17 +0200
commitfa569898189227d778145712b871dde20390a170 (patch)
treec7be88b736085bf0954300345e540848cee7a682
parentd7811c72ed0fec3af1dbb3fc3802f86afafc7421 (diff)
parent9fc2849a57823ee578dd54d97673b7baefbf7a18 (diff)
Merge pull request #50537 from Calinou/improve-shader-error-output-2
Add error marking to the shader error console output
-rw-r--r--servers/rendering/renderer_rd/shader_compiler_rd.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/servers/rendering/renderer_rd/shader_compiler_rd.cpp b/servers/rendering/renderer_rd/shader_compiler_rd.cpp
index b347197289..1dde92d8ff 100644
--- a/servers/rendering/renderer_rd/shader_compiler_rd.cpp
+++ b/servers/rendering/renderer_rd/shader_compiler_rd.cpp
@@ -1351,7 +1351,13 @@ Error ShaderCompilerRD::compile(RS::ShaderMode p_mode, const String &p_code, Ide
if (err != OK) {
Vector<String> shader = p_code.split("\n");
for (int i = 0; i < shader.size(); i++) {
- print_line(itos(i + 1) + " " + shader[i]);
+ if (i + 1 == parser.get_error_line()) {
+ // Mark the error line to be visible without having to look at
+ // the trace at the end.
+ print_line(vformat("E%4d-> %s", i + 1, shader[i]));
+ } else {
+ print_line(vformat("%5d | %s", i + 1, shader[i]));
+ }
}
_err_print_error(nullptr, p_path.utf8().get_data(), parser.get_error_line(), parser.get_error_text().utf8().get_data(), ERR_HANDLER_SHADER);