diff options
author | Alejandro Piñeiro <[email protected]> | 2016-04-19 20:26:32 +0200 |
---|---|---|
committer | Alejandro Piñeiro <[email protected]> | 2016-05-26 08:46:05 +0200 |
commit | 68c23d2d046b6419c7b3bd273278235095e29dae (patch) | |
tree | 7e56a1f1f67610c18c264a1e7122a354831927b3 /src/compiler | |
parent | 66ff04322e80d14d9b1c8a4d1ef8cf63440242af (diff) |
glsl: add just-log option for the standalone compiler.
Add an option in order to ask to just print the InfoLog, without any
header or separator. Useful if we want to use the standalone compiler
to track only the warning/error messages.
v2: all printfs goes on its own line (Ian Romanick)
v3: rebasing: move just_log to standalone.h/cpp
Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/glsl/main.cpp | 1 | ||||
-rw-r--r-- | src/compiler/glsl/standalone.cpp | 20 | ||||
-rw-r--r-- | src/compiler/glsl/standalone.h | 1 |
3 files changed, 18 insertions, 4 deletions
diff --git a/src/compiler/glsl/main.cpp b/src/compiler/glsl/main.cpp index f65b1854d32..1e5e0febcd9 100644 --- a/src/compiler/glsl/main.cpp +++ b/src/compiler/glsl/main.cpp @@ -43,6 +43,7 @@ const struct option compiler_opts[] = { { "dump-hir", no_argument, &options.dump_hir, 1 }, { "dump-lir", no_argument, &options.dump_lir, 1 }, { "link", no_argument, &options.do_link, 1 }, + { "just-log", no_argument, &options.just_log, 1 }, { "version", required_argument, NULL, 'v' }, { NULL, 0, NULL, 0 } }; diff --git a/src/compiler/glsl/standalone.cpp b/src/compiler/glsl/standalone.cpp index e5b9057cd01..c9f20e4f856 100644 --- a/src/compiler/glsl/standalone.cpp +++ b/src/compiler/glsl/standalone.cpp @@ -381,8 +381,14 @@ standalone_compile_shader(const struct standalone_options *_options, compile_shader(ctx, shader); - if (strlen(shader->InfoLog) > 0) - printf("Info log for %s:\n%s\n", files[i], shader->InfoLog); + if (strlen(shader->InfoLog) > 0) { + if (!options->just_log) + printf("Info log for %s:\n", files[i]); + + printf("%s", shader->InfoLog); + if (!options->just_log) + printf("\n"); + } if (!shader->CompileStatus) { status = EXIT_FAILURE; @@ -396,8 +402,14 @@ standalone_compile_shader(const struct standalone_options *_options, link_shaders(ctx, whole_program); status = (whole_program->LinkStatus) ? EXIT_SUCCESS : EXIT_FAILURE; - if (strlen(whole_program->InfoLog) > 0) - printf("Info log for linking:\n%s\n", whole_program->InfoLog); + if (strlen(whole_program->InfoLog) > 0) { + printf("\n"); + if (!options->just_log) + printf("Info log for linking:\n"); + printf("%s", whole_program->InfoLog); + if (!options->just_log) + printf("\n"); + } for (unsigned i = 0; i < MESA_SHADER_STAGES; i++) { struct gl_shader *shader = whole_program->_LinkedShaders[i]; diff --git a/src/compiler/glsl/standalone.h b/src/compiler/glsl/standalone.h index 5b387c52d28..648cedb70ab 100644 --- a/src/compiler/glsl/standalone.h +++ b/src/compiler/glsl/standalone.h @@ -34,6 +34,7 @@ struct standalone_options { int dump_hir; int dump_lir; int do_link; + int just_log; }; struct gl_shader_program; |