diff options
author | Hugo Locurcio <hugo.locurcio@hugo.pro> | 2021-07-17 03:05:11 +0200 |
---|---|---|
committer | Hugo Locurcio <hugo.locurcio@hugo.pro> | 2021-07-17 03:05:11 +0200 |
commit | 9fc2849a57823ee578dd54d97673b7baefbf7a18 (patch) | |
tree | b50874de692f6d17886d1195fd4088ae2d877a84 /servers | |
parent | de83ee57e5bb0e4fb494455a98d597d76289d321 (diff) |
Add error marking to the shader error console output
This makes it possible to see where the shader error is without
having to look at the trace printed below the source code.
Diffstat (limited to 'servers')
-rw-r--r-- | servers/rendering/renderer_rd/shader_compiler_rd.cpp | 8 |
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); |